From f652a4fecb12deb5a35301ea7a57ff5368457115 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Sat, 14 Apr 2018 19:56:04 +0530 Subject: [PATCH] Fix calculation of remaining copybuf bytes Start with PATH_MAX bytes and then double each time. --- nnn.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nnn.c b/nnn.c index 25a1c8cc..e25e7c69 100644 --- a/nnn.c +++ b/nnn.c @@ -642,7 +642,7 @@ writecp(const char *buf, const size_t buflen) static bool appendfilepath(const char *path, const size_t len) { - if ((copybufpos >= copybuflen) || (len > (copybuflen - (copybufpos + 3)))) { + if ((copybufpos >= copybuflen) || ((len + 3) > (copybuflen - copybufpos))) { copybuflen += PATH_MAX; pcopybuf = xrealloc(pcopybuf, copybuflen); if (!pcopybuf) { @@ -3055,7 +3055,6 @@ nochange: writecp(pcopybuf, copybufpos - 1); /* Truncate NULL from end */ else spawn(copier, pcopybuf, NULL, NULL, F_NOTRACE); - DPRINTF_S(pcopybuf); if (!len) printmsg("files copied"); } else