summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristos Zoulas <christos@zoulas.com>2022-09-27 19:05:06 +0000
committerChristos Zoulas <christos@zoulas.com>2022-09-27 19:05:06 +0000
commit019eb7260eb1d83a7190ef39e3cebd2499bd1823 (patch)
tree1bc6f52e300be014ef505a8f36a2bbb96a567b44
parent54defd6da6b4af79a5932322c4cbce29819b223c (diff)
downloadfile-git-019eb7260eb1d83a7190ef39e3cebd2499bd1823.tar.gz
PR/381: vt: fix realloc botches
-rw-r--r--tests/test.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/tests/test.c b/tests/test.c
index 6c229bc0..8ff9614e 100644
--- a/tests/test.c
+++ b/tests/test.c
@@ -51,24 +51,26 @@ slurp(FILE *fp, size_t *final_len)
{
size_t len = 256;
int c;
- char *l = (char *)xrealloc(NULL, len), *s = l;
+ char *l = xrealloc(NULL, len), *s = l;
for (c = getc(fp); c != EOF; c = getc(fp)) {
if (s == l + len) {
- l = xrealloc(l, len * 2);
+ s = l + len;
len *= 2;
+ l = xrealloc(l, len);
}
*s++ = c;
}
if (s != l && s[-1] == '\n')
s--;
- if (s == l + len)
- l = (char *)xrealloc(l, len + 1);
+ if (s == l + len) {
+ l = xrealloc(l, len + 1);
+ s = l + len;
+ }
*s++ = '\0';
*final_len = s - l;
- l = (char *)xrealloc(l, s - l);
- return l;
+ return xrealloc(l, s - l);
}
int