aboutsummaryrefslogtreecommitdiffstats
path: root/extension
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2015-04-28 16:46:05 +0300
committerArnold D. Robbins <arnold@skeeve.com>2015-04-28 16:46:05 +0300
commit6853b3e94c03194200c5a7c4450820a8eaa0920f (patch)
tree0e68baf9f5d687a0a3b6543f01522a56bf010279 /extension
parent020be4cb81b519a597acbf85e683cfb95993c2b9 (diff)
parentb4ef28f58688cf3c3a5878c595b6582144ee2cf1 (diff)
downloadegawk-6853b3e94c03194200c5a7c4450820a8eaa0920f.tar.gz
egawk-6853b3e94c03194200c5a7c4450820a8eaa0920f.tar.bz2
egawk-6853b3e94c03194200c5a7c4450820a8eaa0920f.zip
Merge branch 'master' into feature/regex-type
Diffstat (limited to 'extension')
-rw-r--r--extension/ChangeLog7
-rw-r--r--extension/readfile.c4
-rw-r--r--extension/rwarray.c4
-rw-r--r--extension/rwarray0.c4
4 files changed, 13 insertions, 6 deletions
diff --git a/extension/ChangeLog b/extension/ChangeLog
index 2769a350..9df8ae00 100644
--- a/extension/ChangeLog
+++ b/extension/ChangeLog
@@ -86,6 +86,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);