aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-09-28 22:07:23 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-09-28 22:07:23 +0000
commit6081868ee33c44f5a7227b77876d7e7a83c8aa9e (patch)
tree15efd13947c3a22f640168e535b694d318be9704 /shell
parente918e155ed1d36522e0c096e43d275f1ebda0515 (diff)
downloadbusybox-6081868ee33c44f5a7227b77876d7e7a83c8aa9e.tar.gz
fix "if (p) free(p)" constructs
Diffstat (limited to 'shell')
-rw-r--r--shell/ash.c12
-rw-r--r--shell/lash.c3
2 files changed, 5 insertions, 10 deletions
diff --git a/shell/ash.c b/shell/ash.c
index a3bfe3977..183911ccc 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 4ce6d4235..5ba490f2a 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);