From f0b9ec9b838045318bcc8512c48dd93c66d4eef5 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 2 Feb 2017 15:57:30 +0200 Subject: Undo change, but update comments as to why not needed. --- ChangeLog | 5 +++++ awkgram.c | 6 +++--- awkgram.y | 6 +++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index f9e1cef2..6fe653f3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,11 @@ end for the NUL in case we add a sign. Thanks to Andrew Schorr for making me look at this code. + And later in the same day: + + * awkgram.y (set_profile_next): Undo previous change, since estrdup + handles it, but updated the comments. + 2017-02-01 Arnold D. Robbins * builtin.c (mbc_char_count): Remove spurious multiplies by diff --git a/awkgram.c b/awkgram.c index fb6e4825..a39fff22 100644 --- a/awkgram.c +++ b/awkgram.c @@ -8712,9 +8712,9 @@ static NODE * set_profile_text(NODE *n, const char *str, size_t len) { if (do_pretty_print) { - // extra byte in case need to add minus sign in negate_num - // and another one for the \0 at the end - n->stptr = estrdup(str, len + 2); + // extra byte in case we need to add minus sign in negate_num + // note that estrdup adds another byte for the \0 at the end + n->stptr = estrdup(str, len + 1); n->stptr[len] = '\0'; n->stlen = len; // Set STRCUR and n->stfmt for use when profiling diff --git a/awkgram.y b/awkgram.y index a9e8f9aa..f506be80 100644 --- a/awkgram.y +++ b/awkgram.y @@ -6292,9 +6292,9 @@ static NODE * set_profile_text(NODE *n, const char *str, size_t len) { if (do_pretty_print) { - // extra byte in case need to add minus sign in negate_num - // and another one for the \0 at the end - n->stptr = estrdup(str, len + 2); + // extra byte in case we need to add minus sign in negate_num + // note that estrdup adds another byte for the \0 at the end + n->stptr = estrdup(str, len + 1); n->stptr[len] = '\0'; n->stlen = len; // Set STRCUR and n->stfmt for use when profiling -- cgit v1.2.3