diff --git a/require-ess/src/runScript.c b/require-ess/src/runScript.c index f54cef276a68f0fd435956d20cce86875a5b417e..3f345458e7e27061418e04d43da5ea1694364e45 100644 --- a/require-ess/src/runScript.c +++ b/require-ess/src/runScript.c @@ -49,6 +49,7 @@ int runScript(const char *filename, const char *args) { MAC_HANDLE *mac = NULL; FILE *file = NULL; char *line_raw = NULL; + char *aux_pointer = NULL; char *line_exp = NULL; long line_raw_size = 256; long line_exp_size = line_raw_size; @@ -125,8 +126,9 @@ int runScript(const char *filename, const char *args) { while (line_raw[(len = (long)strlen(line_raw)) - 1] != '\n' && !feof(file)) { if (runScriptDebug) printf("runScript partial line: \"%s\"\n", line_raw); - if ((line_raw = realloc(line_raw, line_raw_size *= 2)) == NULL) + if ((aux_pointer = realloc(line_raw, line_raw_size *= 2)) == NULL) goto error; + line_raw = aux_pointer; if (fgets(line_raw + len, line_raw_size - len, file) == NULL) break; } while (len > 0 && isspace((unsigned char)line_raw[len - 1]))