Skip to contentSkip to conversation

usb: typec: ucsi: ccg: fix memory leak in do_flash

PATCH In review Gustavo A. R. Silva 2 participants 3 messages May 27, 2019 – May 28, 2019

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 usb: typec: ucsi: ccg: fix memory leak in do_flash

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")
---
 drivers/usb/typec/ucsi/ucsi_ccg.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
drivers/usb/typec/ucsi/ucsi_ccg.c +4 -2
index 9d46aa9e4e35..bf63074675fc 100644
@@ -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)
Signature · 1 line
2.21.0
maintainer Acked-by on v1 1/1
#1 lore raw
Quoted 6 lines · Gustavo A. R. Silva

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")
Quoted 23 lines
---
 drivers/usb/typec/ucsi/ucsi_ccg.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
drivers/usb/typec/ucsi/ucsi_ccg.c +4 -2
index 9d46aa9e4e35..bf63074675fc 100644
@@ -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)
Signature · 1 line
2.21.0

thanks,

Signature · 1 line
heikki
maintainer Acked-by
#2 lore raw
Quoted 9 lines · Heikki Krogerus
Quoted 6 lines · Gustavo A. R. Silva

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")

That email address does not actually exist :-/. Sorry.

Quoted 23 lines
Quoted 23 lines
---
 drivers/usb/typec/ucsi/ucsi_ccg.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
drivers/usb/typec/ucsi/ucsi_ccg.c +4 -2
index 9d46aa9e4e35..bf63074675fc 100644
@@ -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)
Signature · 1 line
2.21.0
Signature · 1 line
heikki