summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2009-07-20 22:17:31 +0200
committerPeter Korsgaard <jacmet@sunsite.dk>2009-07-20 22:17:31 +0200
commitda6f67d8f2177f8c1d7ab7d029227f04a1c68720 (patch)
tree1a5d72d204597b66bf38d66a75101642dfa71fdc
parent321c254be5342fc8698dfa5604a2e2301dbc5588 (diff)
downloadbuildroot-novena-da6f67d8f2177f8c1d7ab7d029227f04a1c68720.tar.gz
buildroot-novena-da6f67d8f2177f8c1d7ab7d029227f04a1c68720.zip
haserl: 0.9.25 array vars fix
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-rw-r--r--package/haserl/haserl-0.9.25-array-vars-fix.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/package/haserl/haserl-0.9.25-array-vars-fix.patch b/package/haserl/haserl-0.9.25-array-vars-fix.patch
new file mode 100644
index 000000000..e6c959a66
--- /dev/null
+++ b/package/haserl/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);