aboutsummaryrefslogtreecommitdiff
blob: 1c7372f648ca4e2eab05de063c2663c7f2e5f3b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*
 * symlink.c
 *
 * symlink() wrapper.
 *
 * Copyright 1999-2008 Gentoo Foundation
 * Licensed under the GPL-2
 */

extern int EXTERN_NAME(const char *, const char *);
static int (*WRAPPER_TRUE_NAME) (const char *, const char *) = NULL;

int WRAPPER_NAME(const char *oldpath, const char *newpath)
{
	int result = -1;

	if FUNCTION_SANDBOX_SAFE("symlink", newpath) {
		check_dlsym(WRAPPER_TRUE_NAME, WRAPPER_SYMNAME,
			    WRAPPER_SYMVER);
		result = WRAPPER_TRUE_NAME(oldpath, newpath);
	}

	return result;
}