From 2b710bac540f07489246a1d53b665f74a9c7dd50 Mon Sep 17 00:00:00 2001 From: Jes Sorensen Date: Tue, 1 Nov 2011 14:56:12 +1100 Subject: [PATCH] Write_rules(): Avoid stack corruption if using extremely long udev pathname Signed-off-by: Jes Sorensen Signed-off-by: NeilBrown --- policy.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/policy.c b/policy.c index 1114286..cd260c6 100644 --- a/policy.c +++ b/policy.c @@ -883,7 +883,8 @@ int Write_rules(char *rule_name) char udev_rule_file[PATH_MAX]; if (rule_name) { - strcpy(udev_rule_file, rule_name); + strncpy(udev_rule_file, rule_name, sizeof(udev_rule_file) - 6); + udev_rule_file[sizeof(udev_rule_file) - 6] = '\0'; strcat(udev_rule_file, ".temp"); fd = creat(udev_rule_file, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);