diff options
Diffstat (limited to 'extension')
-rw-r--r-- | extension/ChangeLog | 8 | ||||
-rw-r--r-- | extension/readfile.c | 4 | ||||
-rw-r--r-- | extension/rwarray.c | 4 | ||||
-rw-r--r-- | extension/rwarray0.c | 4 |
4 files changed, 14 insertions, 6 deletions
diff --git a/extension/ChangeLog b/extension/ChangeLog index 5d1651fd..9348d745 100644 --- a/extension/ChangeLog +++ b/extension/ChangeLog @@ -38,6 +38,7 @@ * testext.c (var_test): Adjust for PROCINFO now being there. + 2015-01-06 Andrew J. Schorr <aschorr@telemetry-investments.com> * testext.c (test_deferred): New function to help with testing @@ -77,6 +78,13 @@ (errno_la_SOURCES, errno_la_LDFLAGS, errno_la_LIBADD): Remove. (EXTRA_DIST): Remove errlist.h. +2014-12-14 Andrew J. Schorr <aschorr@telemetry-investments.com> + + * readfile.c (read_file_to_buffer): Do not waste a byte at the end of + a string. + * rwarray.c (read_value): Ditto. + * rwarray0.c (read_value): Ditto. + 2014-11-23 Arnold D. Robbins <arnold@skeeve.com> * inplace.c (do_inplace_begin): Jump through hoops to silence diff --git a/extension/readfile.c b/extension/readfile.c index d4b4aef9..7673589f 100644 --- a/extension/readfile.c +++ b/extension/readfile.c @@ -82,8 +82,8 @@ read_file_to_buffer(int fd, const struct stat *sbuf) goto done; } - emalloc(text, char *, sbuf->st_size + 2, "do_readfile"); - memset(text, '\0', sbuf->st_size + 2); + emalloc(text, char *, sbuf->st_size + 1, "do_readfile"); + memset(text, '\0', sbuf->st_size + 1); if ((ret = read(fd, text, sbuf->st_size)) != sbuf->st_size) { update_ERRNO_int(errno); diff --git a/extension/rwarray.c b/extension/rwarray.c index aa05a0d5..5bead973 100644 --- a/extension/rwarray.c +++ b/extension/rwarray.c @@ -468,8 +468,8 @@ read_value(FILE *fp, awk_value_t *value) len = ntohl(len); value->val_type = AWK_STRING; value->str_value.len = len; - value->str_value.str = gawk_malloc(len + 2); - memset(value->str_value.str, '\0', len + 2); + value->str_value.str = gawk_malloc(len + 1); + memset(value->str_value.str, '\0', len + 1); if (fread(value->str_value.str, 1, len, fp) != (ssize_t) len) { gawk_free(value->str_value.str); diff --git a/extension/rwarray0.c b/extension/rwarray0.c index e2de3cf5..ec3663cc 100644 --- a/extension/rwarray0.c +++ b/extension/rwarray0.c @@ -452,8 +452,8 @@ read_value(int fd, awk_value_t *value) len = ntohl(len); value->val_type = AWK_STRING; value->str_value.len = len; - value->str_value.str = malloc(len + 2); - memset(value->str_value.str, '\0', len + 2); + value->str_value.str = malloc(len + 1); + memset(value->str_value.str, '\0', len + 1); if (read(fd, value->str_value.str, len) != (ssize_t) len) { free(value->str_value.str); |