From 64073b2490e5b6abbe267810718c0c5e2544a130 Mon Sep 17 00:00:00 2001 From: Renge Date: Fri, 15 Apr 2022 21:24:56 -0400 Subject: [PATCH] fix: free args if expr is invalid --- hw4/src/jobs.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/hw4/src/jobs.c b/hw4/src/jobs.c index 58baf9b..e60a07e 100644 --- a/hw4/src/jobs.c +++ b/hw4/src/jobs.c @@ -341,8 +341,16 @@ int jobs_run(PIPELINE *pline) { char **args = jobs_get_args(pline->commands->args); // run command - if (execvp(args[0], args) == -1) + if (execvp(args[0], args) == -1) { + char **char_ptr = args; + while (*char_ptr) + { + free(*char_ptr); + char_ptr ++; + } + free(args); exit(-1); + } } else {