diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-09-26 18:01:32 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-09-26 18:01:32 +0000 |
commit | b042bd95143dbf84ddee08ee20a3845e003df1de (patch) | |
tree | bea43f903e4f3a53dab0d2d2f53c19f1b6962249 /selinux | |
parent | dd5e11bb053e8dd278662b1ba69d04b6c5d9b3ff (diff) | |
download | busybox-b042bd95143dbf84ddee08ee20a3845e003df1de.tar.gz |
load_policy: update (Yuichi Nakamura <ynakam@hitachisoft.jp>)
Diffstat (limited to 'selinux')
-rw-r--r-- | selinux/load_policy.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/selinux/load_policy.c b/selinux/load_policy.c index 5d140bc96..add5c662c 100644 --- a/selinux/load_policy.c +++ b/selinux/load_policy.c @@ -1,6 +1,5 @@ /* * load_policy - * This implementation is based on old load_policy to be small. * Author: Yuichi Nakamura <ynakam@hitachisoft.jp> */ #include "libbb.h" @@ -8,22 +7,14 @@ int load_policy_main(int argc, char **argv); int load_policy_main(int argc, char **argv) { - int fd; - struct stat st; - void *data; - if (argc != 2) { + int rc; + + if (argc != 1) { bb_show_usage(); } - fd = xopen(argv[1], O_RDONLY); - if (fstat(fd, &st) < 0) { - bb_perror_msg_and_die("can't fstat"); - } - data = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0); - if (data == MAP_FAILED) { - bb_perror_msg_and_die("can't mmap"); - } - if (security_load_policy(data, st.st_size) < 0) { + rc = selinux_mkload_policy(1); + if (rc < 0) { bb_perror_msg_and_die("can't load policy"); } |