From 6081868ee33c44f5a7227b77876d7e7a83c8aa9e Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Fri, 28 Sep 2007 22:07:23 +0000 Subject: fix "if (p) free(p)" constructs --- shell/ash.c | 12 ++++-------- shell/lash.c | 3 +-- 2 files changed, 5 insertions(+), 10 deletions(-) (limited to 'shell') diff --git a/shell/ash.c b/shell/ash.c index a3bfe39..183911c 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -5328,8 +5328,7 @@ expbackq(union node *cmd, int quoted, int quotes) p = buf; } - if (in.buf) - free(in.buf); + free(in.buf); if (in.fd >= 0) { close(in.fd); back_exitstatus = waitforjob(in.jp); @@ -8788,8 +8787,7 @@ popfile(void) INT_OFF; if (pf->fd >= 0) close(pf->fd); - if (pf->buf) - free(pf->buf); + free(pf->buf); while (pf->strpush) popstring(); parsefile = pf->prev; @@ -10330,8 +10328,7 @@ parsebackq: { #endif savepbq = parsebackquote; if (setjmp(jmploc.loc)) { - if (str) - free(str); + free(str); parsebackquote = 0; exception_handler = savehandler; longjmp(exception_handler->loc, 1); @@ -11264,8 +11261,7 @@ trapcmd(int argc, char **argv) else action = ckstrdup(action); } - if (trap[signo]) - free(trap[signo]); + free(trap[signo]); trap[signo] = action; if (signo != 0) setsignal(signo); diff --git a/shell/lash.c b/shell/lash.c index 4ce6d42..5ba490f 100644 --- a/shell/lash.c +++ b/shell/lash.c @@ -455,8 +455,7 @@ static void free_job(struct job *cmd) for (i = 0; i < cmd->num_progs; i++) { free(cmd->progs[i].argv); #if ENABLE_LASH_PIPE_N_REDIRECTS - if (cmd->progs[i].redirects) - free(cmd->progs[i].redirects); + free(cmd->progs[i].redirects); #endif } free(cmd->progs); -- cgit v1.1