aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew J. Schorr <aschorr@telemetry-investments.com>2017-06-22 15:21:38 -0400
committerAndrew J. Schorr <aschorr@telemetry-investments.com>2017-06-22 15:21:38 -0400
commitf4df3ba54ba5c2a4aec34d643424834c03645dd9 (patch)
tree5c72a198f39212c46e867c087f243c4abd4ab95b
parent0ac746db72a0879bbd44325fe15b3ae33c63ecef (diff)
downloadegawk-f4df3ba54ba5c2a4aec34d643424834c03645dd9.tar.gz
egawk-f4df3ba54ba5c2a4aec34d643424834c03645dd9.tar.bz2
egawk-f4df3ba54ba5c2a4aec34d643424834c03645dd9.zip
In rwarray extensions, use malloc where calloc not needed.
-rw-r--r--extension/ChangeLog6
-rw-r--r--extension/rwarray.c3
-rw-r--r--extension/rwarray0.c3
3 files changed, 10 insertions, 2 deletions
diff --git a/extension/ChangeLog b/extension/ChangeLog
index 9574865c..8bb97590 100644
--- a/extension/ChangeLog
+++ b/extension/ChangeLog
@@ -1,5 +1,11 @@
2017-06-22 Andrew J. Schorr <aschorr@telemetry-investments.com>
+ * rwarray.c (read_value): Use malloc instead of calloc, since
+ we immediately overwrite the buffer with data from the file.
+ * rwarray0.c (read_value): Ditto.
+
+2017-06-22 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
* readfile.c (read_file_to_buffer): Use emalloc instead of ezalloc,
since there's no need to initialize the memory to zero before
overwriting it with the file's contents.
diff --git a/extension/rwarray.c b/extension/rwarray.c
index 370e38ac..53c908df 100644
--- a/extension/rwarray.c
+++ b/extension/rwarray.c
@@ -482,12 +482,13 @@ read_value(FILE *fp, awk_value_t *value)
break;
}
value->str_value.len = len;
- value->str_value.str = gawk_calloc(1, len + 1);
+ value->str_value.str = gawk_malloc(len + 1);
if (fread(value->str_value.str, 1, len, fp) != (ssize_t) len) {
gawk_free(value->str_value.str);
return awk_false;
}
+ value->str_value.str[len] = '\0';
}
return awk_true;
diff --git a/extension/rwarray0.c b/extension/rwarray0.c
index abeb5326..79dee79e 100644
--- a/extension/rwarray0.c
+++ b/extension/rwarray0.c
@@ -446,12 +446,13 @@ 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 = calloc(1, len + 1);
+ value->str_value.str = malloc(len + 1);
if (read(fd, value->str_value.str, len) != (ssize_t) len) {
free(value->str_value.str);
return awk_false;
}
+ value->str_value.str[len] = '\0';
}
return awk_true;