aboutsummaryrefslogtreecommitdiffstats
path: root/libselinux/src/audit2why.c
diff options
context:
space:
mode:
authorEric Paris <eparis@redhat.com>2012-12-04 15:23:57 -0500
committerEric Paris <eparis@redhat.com>2013-02-01 12:08:56 -0500
commit933840af6c41ea0203485227c4ac2258f15d40f5 (patch)
tree14afb6742b26b6b956461a01155d7cecc3cd6786 /libselinux/src/audit2why.c
parent960d6ee879f34df84e90394c32a606d6d1be48ae (diff)
downloadandroid_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.c3
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),