diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2020-01-12 23:19:03 -0800 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2020-01-12 23:19:03 -0800 |
| commit | 0d5803047b9bfbbe9bc3892be50140509c611d1e (patch) | |
| tree | 395719f629f85be3d35a2f22b05d6accec70cc7f /bb.c | |
| parent | 8b4c66e144ed68d947f9a8b36468c1fa20873dc5 (diff) | |
Fixed memory leak.
Diffstat (limited to 'bb.c')
| -rw-r--r-- | bb.c | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -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 |
