From 8fe47610922a37896999d50151ec39cc293ba75e Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Thu, 25 Jul 2019 19:55:55 +0530 Subject: [PATCH] Fix #301 - use local buffer to avoid overwriting g_buf --- src/nnn.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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) -- 2.48.1