usb: typec: ucsi: ccg: fix memory leak in do_flash
authorGustavo A. R. Silva <gustavo@embeddedor.com>
Mon, 27 May 2019 18:10:50 +0000 (13:10 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 3 Jun 2019 12:24:57 +0000 (14:24 +0200)
In case memory resources for *fw* were successfully allocated,
release them before return.

Addresses-Coverity-ID: 1445499 ("Resource leak")
Fixes: 5c9ae5a87573 ("usb: typec: ucsi: ccg: add firmware flashing support")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/ucsi/ucsi_ccg.c

index 9d46aa9..bf63074 100644 (file)
@@ -862,8 +862,10 @@ static int do_flash(struct ucsi_ccg *uc, enum enum_flash_mode mode)
 
 not_signed_fw:
        wr_buf = kzalloc(CCG4_ROW_SIZE + 4, GFP_KERNEL);
-       if (!wr_buf)
-               return -ENOMEM;
+       if (!wr_buf) {
+               err = -ENOMEM;
+               goto release_fw;
+       }
 
        err = ccg_cmd_enter_flashing(uc);
        if (err)