From b044e9d5e9f15c20a62ba92c601128e9630438f4 Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Tue, 27 Mar 2001 21:04:55 +0000 Subject: [PATCH] * cppmacro.c (stringify_arg): Null terminate strings. From-SVN: r40880 --- gcc/ChangeLog | 4 ++++ gcc/cppmacro.c | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 19c4205afdd..0ff97291e32 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2001-03-27 Neil Booth + + * cppmacro.c (stringify_arg): Null terminate strings. + 2001-03-27 Zack Weinberg * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h diff --git a/gcc/cppmacro.c b/gcc/cppmacro.c index 7d20f1c0464..62469804f4a 100644 --- a/gcc/cppmacro.c +++ b/gcc/cppmacro.c @@ -296,7 +296,7 @@ stringify_arg (pfile, arg) if (escape_it) /* Worst case is each char is octal. */ len *= 4; - len++; /* Room for initial space. */ + len += 2; /* Room for initial space and final NUL. */ dest = &start[total_len]; if (dest + len > POOL_LIMIT (pool)) @@ -334,7 +334,9 @@ stringify_arg (pfile, arg) total_len--; } - POOL_COMMIT (pool, total_len); + /* Null terminate, and commit the memory. */ + start[total_len] = '\0'; + POOL_COMMIT (pool, total_len + 1); arg->stringified = xnew (cpp_token); arg->stringified->flags = 0; -- 2.30.2