diff options
Diffstat (limited to 'src/get_initial_context.c')
-rw-r--r-- | src/get_initial_context.c | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/src/get_initial_context.c b/src/get_initial_context.c deleted file mode 100644 index 64863dd..0000000 --- a/src/get_initial_context.c +++ /dev/null @@ -1,55 +0,0 @@ -#include <unistd.h> -#include <sys/types.h> -#include <fcntl.h> -#include <stdlib.h> -#include <stdio.h> -#include <errno.h> -#include <string.h> -#include "selinux_internal.h" -#include "policy.h" -#include <limits.h> - -#define SELINUX_INITCON_DIR "/initial_contexts/" - -int security_get_initial_context(const char * name, char ** con) -{ - char path[PATH_MAX]; - char *buf; - size_t size; - int fd, ret; - - if (!selinux_mnt) { - errno = ENOENT; - return -1; - } - - snprintf(path, sizeof path, "%s%s%s", - selinux_mnt, SELINUX_INITCON_DIR, name); - fd = open(path, O_RDONLY); - if (fd < 0) - return -1; - - size = selinux_page_size; - buf = malloc(size); - if (!buf) { - ret = -1; - goto out; - } - memset(buf, 0, size); - ret = read(fd, buf, size - 1); - if (ret < 0) - goto out2; - - *con = strdup(buf); - if (!(*con)) { - ret = -1; - goto out2; - } - ret = 0; - out2: - free(buf); - out: - close(fd); - return ret; -} - |