summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorLeo Tenenbaum <pommicket@gmail.com>2019-08-18 16:42:40 -0400
committerLeo Tenenbaum <pommicket@gmail.com>2019-08-18 16:42:40 -0400
commit00cb291c4bf2c64342b00152e58f2544e66ddb2c (patch)
tree3eaa5ef6beca9049da3fa1e51022671dd3b8f28f /main.c
parentdc3dab7f04f852c3ca7c7850623bedad27f185dd (diff)
started parsing expressions
Diffstat (limited to 'main.c')
-rw-r--r--main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/main.c b/main.c
index f9332df..7fefa70 100644
--- a/main.c
+++ b/main.c
@@ -27,14 +27,15 @@ int main(int argc, char **argv) {
}
char *contents = err_malloc(4096);
- long contents_cap = 4096;
+ long contents_cap = 4095;
long contents_len = 0;
while (fgets(contents + contents_len, (int)(contents_cap - contents_len), in)) {
contents_len += (long)strlen(contents + contents_len);
if (contents_len >= (long)contents_cap - 1024) {
contents_cap *= 2;
- contents = err_realloc(contents, (size_t)contents_cap);
+ /* allocate +1 so that pointers don't overflow */
+ contents = err_realloc(contents, (size_t)contents_cap + 1);
}
}
if (ferror(in)) {