diff options
Diffstat (limited to 'package/haserl/haserl-0.9.25')
-rw-r--r-- | package/haserl/haserl-0.9.25/haserl-0.9.25-array-vars-fix.patch | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/package/haserl/haserl-0.9.25/haserl-0.9.25-array-vars-fix.patch b/package/haserl/haserl-0.9.25/haserl-0.9.25-array-vars-fix.patch new file mode 100644 index 000000000..e6c959a66 --- /dev/null +++ b/package/haserl/haserl-0.9.25/haserl-0.9.25-array-vars-fix.patch @@ -0,0 +1,19 @@ +haserl: array vars fix + +Fix buffer overflow error. Len is the length of the name= part of the +name=value string, not the value part. + +Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> +Index: haserl-0.9.25/src/haserl.c +=================================================================== +--- haserl-0.9.25.orig/src/haserl.c 2009-07-20 15:05:26.000000000 +0200 ++++ haserl-0.9.25/src/haserl.c 2009-07-20 15:06:05.000000000 +0200 +@@ -269,7 +269,7 @@ + /* if an array, create a new string with this + * value added to the end of the old value(s) + */ +- temp = xmalloc (strlen (cur->buf) + len + 1); ++ temp = xmalloc (strlen (cur->buf) + strlen(entry) - len + 1); + memmove (temp, cur->buf, strlen (cur->buf) + 1); + strcat (temp, "\n"); + strcat (temp, str + keylen + 3); |