diff options
author | Leo Tenenbaum <pommicket@gmail.com> | 2019-08-18 16:42:40 -0400 |
---|---|---|
committer | Leo Tenenbaum <pommicket@gmail.com> | 2019-08-18 16:42:40 -0400 |
commit | 00cb291c4bf2c64342b00152e58f2544e66ddb2c (patch) | |
tree | 3eaa5ef6beca9049da3fa1e51022671dd3b8f28f /main.c | |
parent | dc3dab7f04f852c3ca7c7850623bedad27f185dd (diff) |
started parsing expressions
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -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)) { |