From: Denys Vlasenko Date: Wed, 7 Oct 2009 23:32:44 +0000 (+0200) Subject: cp: revert a recent buggy change, and add a comment why it's wrong X-Git-Tag: 1_16_0~419 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=d5fddcd57f4e692dd100121bb66adea8129fdbd6;p=oweals%2Fbusybox.git cp: revert a recent buggy change, and add a comment why it's wrong Signed-off-by: Denys Vlasenko --- diff --git a/coreutils/cp.c b/coreutils/cp.c index 2c0b90bc9..9f6c12367 100644 --- a/coreutils/cp.c +++ b/coreutils/cp.c @@ -182,10 +182,12 @@ int cp_main(int argc, char **argv) if (copy_file(*argv, dest, flags) < 0) { status = EXIT_FAILURE; } - free((void*)dest); if (*++argv == last) { + /* possibly leaking dest... */ break; } + /* don't move up: dest may be == last and not malloced! */ + free((void*)dest); } /* Exit. We are NOEXEC, not NOFORK. We do exit at the end of main() */