summaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
authorDJ Delorie <dj@delorie.com>2011-04-10 19:15:08 +0000
committerDJ Delorie <dj@delorie.com>2011-04-10 19:15:08 +0000
commit657ad000c3a77a73e26ddee24daffe2987e75911 (patch)
treead9c51083b622fdbdb68010a0e54ad6c890e599b /libiberty
parent4f271d34d39a1c23eecc4cfd57466058537c3d9c (diff)
downloadgdb-657ad000c3a77a73e26ddee24daffe2987e75911.tar.gz
merge from gcc
Diffstat (limited to 'libiberty')
-rw-r--r--libiberty/ChangeLog6
-rw-r--r--libiberty/testsuite/test-expandargv.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index f6138b69e24..a15ffa59d28 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,9 @@
+2011-04-10 Jim Meyering <meyering@redhat.com>
+
+ Avoid memory overrun in a test leading to potential double-free.
+ * testsuite/test-expandargv.c (writeout_test): Fix off-by-one error:
+ i.e., do copy the trailing NUL byte.
+
2011-03-31 Tristan Gingold <gingold@adacore.com>
* makefile.vms (OBJS): Add filename_cmp.obj
diff --git a/libiberty/testsuite/test-expandargv.c b/libiberty/testsuite/test-expandargv.c
index c16a0322a6c..57b96b3ff97 100644
--- a/libiberty/testsuite/test-expandargv.c
+++ b/libiberty/testsuite/test-expandargv.c
@@ -204,7 +204,7 @@ writeout_test (int test, const char * test_data)
if (parse == NULL)
fatal_error (__LINE__, "Failed to malloc parse.", errno);
- memcpy (parse, test_data, sizeof (char) * len);
+ memcpy (parse, test_data, sizeof (char) * (len + 1));
/* Run all possible replaces */
run_replaces (parse);