[PATCH] cp: fix memory leak

Sascha Hauer s.hauer at pengutronix.de
Mon Feb 27 03:37:40 EST 2012


dst is an allocated string, we have to free it also when
copy_file fails.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 commands/cp.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/commands/cp.c b/commands/cp.c
index f78e3de..565eca0 100644
--- a/commands/cp.c
+++ b/commands/cp.c
@@ -77,9 +77,9 @@ static int do_cp(struct command *cmdtp, int argc, char *argv[])
 			char *dst;
 			dst = concat_path_file(argv[argc - 1], basename(argv[i]));
 			ret = copy_file(argv[i], dst, verbose);
+			free(dst);
 			if (ret)
 				goto out;
-			free(dst);
 		} else {
 			ret = copy_file(argv[i], argv[argc - 1], verbose);
 			if (ret)
-- 
1.7.9.1




More information about the barebox mailing list