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

Signed-off-by: Sascha Hauer <[email protected]>
---
 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


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to