diff options
author | Boris Kolpackov <boris@kolpackov.net> | 2010-07-16 13:01:15 +0000 |
---|---|---|
committer | Boris Kolpackov <boris@kolpackov.net> | 2010-07-16 13:01:15 +0000 |
commit | df2fa7c5a5726b4e0a50e0eff209a3518ab19603 (patch) | |
tree | ac51e42a10aa1720b5f86d31d6f8f543bceeffc0 | |
parent | 9903cda2a734c2f86eefcff656aad032fbb79078 (diff) | |
download | gunmake-df2fa7c5a5726b4e0a50e0eff209a3518ab19603.tar.gz |
Fix buffer overrun in concat().
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | misc.c | 8 |
2 files changed, 12 insertions, 0 deletions
@@ -1,3 +1,7 @@ +2010-07-16 Boris Kolpackov <boris@codesynthesis.com> + + * misc.c (concat): Fix buffer overrun. + 2010-07-12 Paul Smith <psmith@gnu.org> Update copyrights to add 2010. @@ -202,6 +202,14 @@ concat (num, va_alist) VA_END (args); + /* Get some more memory if we don't have enough space for the + terminating '\0'. */ + if (ri == rlen) + { + rlen = (rlen ? rlen : 60) * 2; + result = xrealloc (result, rlen); + } + result[ri] = '\0'; return result; |