dfu: cmd: free memory allocated by strdup()
authorPrzemyslaw Marczak <p.marczak@samsung.com>
Fri, 28 Nov 2014 12:56:20 +0000 (13:56 +0100)
committerLukasz Majewski <l.majewski@samsung.com>
Thu, 15 Jan 2015 12:12:24 +0000 (13:12 +0100)
Change-Id: I69f49736af033314f9f4681eeb97fb11a0499b8b
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
common/cmd_dfu.c

index a885fd814755af8df8757cfe6a7120a8996b5bac..5fd25ea12e52fe51d07dd118eb690b9c35d1fb02 100644 (file)
@@ -32,7 +32,8 @@ static int do_dfu(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 
                if (!usb_controller || !interface || !devstring) {
                        puts("DFU: default device environment is not set.\n");
-                       return CMD_RET_USAGE;
+                       ret = CMD_RET_USAGE;
+                       goto bad_args;
                }
                break;
        case 5:
@@ -94,7 +95,12 @@ done:
                run_command("reset", 0);
 
        g_dnl_clear_detach();
-
+bad_args:
+       if (argc == 1) {
+               free(usb_controller);
+               free(interface);
+               free(devstring);
+       }
        return ret;
 }