From: Arun Prakash Jana Date: Thu, 25 Jul 2019 14:25:55 +0000 (+0530) Subject: Fix #301 - use local buffer to avoid overwriting g_buf X-Git-Tag: v2.6~24 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=8fe47610922a37896999d50151ec39cc293ba75e;p=nnn.git Fix #301 - use local buffer to avoid overwriting g_buf --- diff --git a/src/nnn.c b/src/nnn.c index 2142dfc8..6f6f588f 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -1265,14 +1265,16 @@ finish: static void archive_selection(const char *cmd, const char *archive, const char *curpath) { - snprintf(g_buf, CMD_LEN_MAX, + char *buf = (char *)malloc(CMD_LEN_MAX * sizeof(char)); + snprintf(buf, CMD_LEN_MAX, #ifdef __linux__ "xargs -0 -a %s %s %s", #else "cat %s | xargs -0 -o %s %s", #endif g_cppath, cmd, archive); - spawn("sh", "-c", g_buf, curpath, F_NORMAL); + spawn("sh", "-c", buf, curpath, F_NORMAL); + free(buf); } static bool write_lastdir(const char *curpath)