From a84bbc54257e68ef149cbaff8835c9cb3605c9ac Mon Sep 17 00:00:00 2001 From: Ron Yorston Date: Thu, 24 Jun 2021 15:08:15 +0100 Subject: cp,mv: fix -t DIR option When the '-t DIR' option is used the loop over the remaining arguments should terminate when a NULL pointer is reached. function old new delta mv_main 585 590 +5 cp_main 492 496 +4 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 9/0) Total: 9 bytes Signed-off-by: Ron Yorston Signed-off-by: Denys Vlasenko --- coreutils/cp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'coreutils/cp.c') diff --git a/coreutils/cp.c b/coreutils/cp.c index b7f0e29..50ca1cc 100644 --- a/coreutils/cp.c +++ b/coreutils/cp.c @@ -252,7 +252,7 @@ int cp_main(int argc, char **argv) } } } - /* else: last is DIR from "t -DIR" */ + /* else: last is DIR from "-t DIR" */ while (1) { #if ENABLE_FEATURE_CP_LONG_OPTIONS @@ -274,7 +274,7 @@ int cp_main(int argc, char **argv) if (copy_file(*argv, dest, flags) < 0) { status = EXIT_FAILURE; } - if (*++argv == last) { + if (!*++argv || *argv == last) { /* possibly leaking dest... */ break; } -- cgit v1.1