From 0d5803047b9bfbbe9bc3892be50140509c611d1e Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Sun, 12 Jan 2020 23:19:03 -0800 Subject: Fixed memory leak. --- bb.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'bb.c') diff --git a/bb.c b/bb.c index 4acdafa..d8d3c13 100644 --- a/bb.c +++ b/bb.c @@ -951,10 +951,6 @@ void restore_term(const struct termios *term) */ int run_script(bb_t *bb, const char *cmd) { - char *fullcmd = calloc(strlen(cmd) + strlen(bbcmdfn) + 1, sizeof(char)); - strcpy(fullcmd, bbcmdfn); - strcat(fullcmd, cmd); - proc_t *proc = memcheck(calloc(1, sizeof(proc_t))); signal(SIGTTOU, SIG_IGN); if ((proc->pid = fork()) == 0) { @@ -968,6 +964,9 @@ int run_script(bb_t *bb, const char *cmd) int i = 0; args[i++] = SH; args[i++] = "-c"; + char *fullcmd = calloc(strlen(cmd) + strlen(bbcmdfn) + 1, sizeof(char)); + strcpy(fullcmd, bbcmdfn); + strcat(fullcmd, cmd); args[i++] = fullcmd; args[i++] = "--"; // ensure files like "-i" are not interpreted as flags for sh // bb->selected is in most-recent order, so populate args in reverse to make sure -- cgit v1.2.3