diff --git a/src/env.c b/src/env.c index d8d126b..5b9f93a 100644 --- a/src/env.c +++ b/src/env.c @@ -180,17 +180,19 @@ void addFunc(const char *name, Object (*func)(Object, Object, struct Environment void deleteEnv(struct Environment *e) { - int i = 0; - while(e->strings[i]) { - free(e->strings[i]); - cleanObject(&e->objects[i]); - i++; - } - free(e->strings); - e->strings = NULL; + if (e->strings) { + int i = 0; + while(e->strings[i]) { + free(e->strings[i]); + cleanObject(&e->objects[i]); + i++; + } + free(e->strings); + e->strings = NULL; - free(e->objects); - e->objects = NULL; + free(e->objects); + e->objects = NULL; + } } struct symFunc {