32 lines
1008 B
Diff
32 lines
1008 B
Diff
From 824f78bb0135cff4cb29e26c3de1cb4c2da35b46 Mon Sep 17 00:00:00 2001
|
|
From: Li Qiang <liqiang6-s@360.cn>
|
|
Date: Tue, 8 Nov 2016 04:11:10 -0800
|
|
Subject: [PATCH 05/12] usb: ehci: fix memory leak in ehci_init_transfer
|
|
|
|
In ehci_init_transfer function, if the 'cpage' is bigger than 4,
|
|
it doesn't free the 'p->sgl' once allocated previously thus leading
|
|
a memory leak issue. This patch avoid this.
|
|
|
|
Signed-off-by: Li Qiang <liqiang6-s@360.cn>
|
|
Message-id: 5821c0f4.091c6b0a.e0c92.e811@mx.google.com
|
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
---
|
|
hw/usb/hcd-ehci.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
|
|
index f4ece9a..7622a3a 100644
|
|
--- a/hw/usb/hcd-ehci.c
|
|
+++ b/hw/usb/hcd-ehci.c
|
|
@@ -1190,6 +1190,7 @@ static int ehci_init_transfer(EHCIPacket *p)
|
|
while (bytes > 0) {
|
|
if (cpage > 4) {
|
|
fprintf(stderr, "cpage out of range (%d)\n", cpage);
|
|
+ qemu_sglist_destroy(&p->sgl);
|
|
return -1;
|
|
}
|
|
|
|
--
|
|
2.1.4
|
|
|