diff options
author | Christos Zoulas <christos@zoulas.com> | 2022-09-27 19:05:06 +0000 |
---|---|---|
committer | Christos Zoulas <christos@zoulas.com> | 2022-09-27 19:05:06 +0000 |
commit | 019eb7260eb1d83a7190ef39e3cebd2499bd1823 (patch) | |
tree | 1bc6f52e300be014ef505a8f36a2bbb96a567b44 | |
parent | 54defd6da6b4af79a5932322c4cbce29819b223c (diff) | |
download | file-git-019eb7260eb1d83a7190ef39e3cebd2499bd1823.tar.gz |
PR/381: vt: fix realloc botches
-rw-r--r-- | tests/test.c | 14 |
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 |