diff options
author | Eric Paris <eparis@redhat.com> | 2012-12-04 15:23:57 -0500 |
---|---|---|
committer | Eric Paris <eparis@redhat.com> | 2013-02-01 12:08:56 -0500 |
commit | 933840af6c41ea0203485227c4ac2258f15d40f5 (patch) | |
tree | 14afb6742b26b6b956461a01155d7cecc3cd6786 /libselinux/src/audit2why.c | |
parent | 960d6ee879f34df84e90394c32a606d6d1be48ae (diff) | |
download | android_external_selinux-933840af6c41ea0203485227c4ac2258f15d40f5.tar.gz android_external_selinux-933840af6c41ea0203485227c4ac2258f15d40f5.tar.bz2 android_external_selinux-933840af6c41ea0203485227c4ac2258f15d40f5.zip |
libselinux: audit2why: make sure path is nul terminated
We use strncpy which could leave a non-nul terminated string if the
source is longer than PATH_MAX. Add that nul.
Signed-off-by: Eric Paris <eparis@redhat.com>
Acked-by: Dan Walsh <dwalsh@redhat.com>
Diffstat (limited to 'libselinux/src/audit2why.c')
-rw-r--r-- | libselinux/src/audit2why.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libselinux/src/audit2why.c b/libselinux/src/audit2why.c index 02483a38..807bc42f 100644 --- a/libselinux/src/audit2why.c +++ b/libselinux/src/audit2why.c @@ -195,8 +195,9 @@ static int __policy_init(const char *init_path) int rc; unsigned int cnt; + path[PATH_MAX-1] = '\0'; if (init_path) { - strncpy(path, init_path, PATH_MAX); + strncpy(path, init_path, PATH_MAX-1); fp = fopen(path, "r"); if (!fp) { snprintf(errormsg, sizeof(errormsg), |