diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2012-08-29 00:45:49 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2012-08-29 00:45:49 +0000 |
commit | bf8247ff45fff9e0b9502c05457f42a32ec5bd8b (patch) | |
tree | 01caeee3258681df10e4995db5787a981df5e535 | |
parent | 92fae9b9c3d846c3d3ff90333e7c8d08bec32107 (diff) | |
download | gdb-bf8247ff45fff9e0b9502c05457f42a32ec5bd8b.zip gdb-bf8247ff45fff9e0b9502c05457f42a32ec5bd8b.tar.gz gdb-bf8247ff45fff9e0b9502c05457f42a32ec5bd8b.tar.bz2 |
Replace alloca with xmalloc/free
PR binutils/14526
* argv.c (buildargv): Replace alloca with xmalloc/free.
-rw-r--r-- | libiberty/ChangeLog | 5 | ||||
-rw-r--r-- | libiberty/argv.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 0b720e7..f06dcb5 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,8 @@ +2011-08-28 H.J. Lu <hongjiu.lu@intel.com> + + PR binutils/14526 + * argv.c (buildargv): Replace alloca with xmalloc/free. + 2012-08-17 Andreas Schwab <schwab@linux-m68k.org> * floatformat.c (floatformat_to_double): Correctly handle numbers diff --git a/libiberty/argv.c b/libiberty/argv.c index ca53f91..4cef3bc 100644 --- a/libiberty/argv.c +++ b/libiberty/argv.c @@ -191,7 +191,7 @@ char **buildargv (const char *input) if (input != NULL) { - copybuf = (char *) alloca (strlen (input) + 1); + copybuf = (char *) xmalloc (strlen (input) + 1); /* Is a do{}while to always execute the loop once. Always return an argv, even for null strings. See NOTES above, test case below. */ do @@ -297,6 +297,8 @@ char **buildargv (const char *input) consume_whitespace (&input); } while (*input != EOS); + + free (copybuf); } return (argv); } |