diff options
Diffstat (limited to 'edify')
-rw-r--r-- | edify/expr.c | 3 | ||||
-rw-r--r-- | edify/main.c | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/edify/expr.c b/edify/expr.c index 72e5100f3..df3c1ab76 100644 --- a/edify/expr.c +++ b/edify/expr.c @@ -67,6 +67,7 @@ char* ConcatFn(const char* name, State* state, int argc, Expr* argv[]) { for (i = 0; i < argc; ++i) { free(strings[i]); } + free(strings); return result; } @@ -389,11 +390,13 @@ int ReadArgs(State* state, Expr* argv[], int count, ...) { for (j = 0; j < i; ++j) { free(args[j]); } + free(args); return -1; } *(va_arg(v, char**)) = args[i]; } va_end(v); + free(args); return 0; } diff --git a/edify/main.c b/edify/main.c index 0e3610847..a2b74ad92 100644 --- a/edify/main.c +++ b/edify/main.c @@ -181,6 +181,10 @@ int main(int argc, char** argv) { } FILE* f = fopen(argv[1], "r"); + if (f == NULL) { + printf("%s: %s: No such file or directory\n", argv[0], argv[1]); + return 1; + } char buffer[8192]; int size = fread(buffer, 1, 8191, f); fclose(f); |