[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 2/5] net/rocker: Plug memory leak in pci_rocker_init(
From: |
Jason Wang |
Subject: |
[Qemu-devel] [PULL 2/5] net/rocker: Plug memory leak in pci_rocker_init() |
Date: |
Mon, 14 Aug 2017 11:33:08 +0800 |
From: Mao Zhongyi <address@hidden>
pci_rocker_init() leaks a World when the name more than 9 chars,
then return a negative value directly, doesn't make a correct
cleanup. So add a new goto label to fix it.
Cc: address@hidden
Cc: address@hidden
Cc: address@hidden
Cc: address@hidden
Signed-off-by: Mao Zhongyi <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
---
hw/net/rocker/rocker.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/hw/net/rocker/rocker.c b/hw/net/rocker/rocker.c
index 7496752..9a538a9 100644
--- a/hw/net/rocker/rocker.c
+++ b/hw/net/rocker/rocker.c
@@ -1355,7 +1355,8 @@ static int pci_rocker_init(PCIDevice *dev)
fprintf(stderr,
"rocker: name too long; please shorten to at most %d chars\n",
MAX_ROCKER_NAME_LEN);
- return -EINVAL;
+ err = -EINVAL;
+ goto err_name_too_long;
}
if (memcmp(&r->fp_start_macaddr, &zero, sizeof(zero)) == 0) {
@@ -1414,6 +1415,7 @@ static int pci_rocker_init(PCIDevice *dev)
return 0;
+err_name_too_long:
err_duplicate:
rocker_msix_uninit(r);
err_msix_init:
--
2.7.4
- [Qemu-devel] [PULL 0/5] Net patches, Jason Wang, 2017/08/13
- [Qemu-devel] [PULL 1/5] net/rocker: Remove the dead error handling, Jason Wang, 2017/08/13
- [Qemu-devel] [PULL 2/5] net/rocker: Plug memory leak in pci_rocker_init(),
Jason Wang <=
- [Qemu-devel] [PULL 3/5] net/rocker: Convert to realize(), Jason Wang, 2017/08/13
- [Qemu-devel] [PULL 5/5] qemu-doc: Mention host_net_add/-remove in the deprecation chapter, Jason Wang, 2017/08/13
- [Qemu-devel] [PULL 4/5] net/rocker: Fix the unusual macro name, Jason Wang, 2017/08/13
- Re: [Qemu-devel] [PULL 0/5] Net patches, Peter Maydell, 2017/08/14