From 9303cb3468517e129d1d4ce2b0c8d271eda6281b Mon Sep 17 00:00:00 2001 From: Jianglei Nie Date: Sun, 9 Jan 2022 22:54:18 +0800 Subject: [PATCH] device_qemu: Fix memory leak in ConfigQueue() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 253行调用calloc函数为base分配了内存空间,但是在261行返回ERR_IF前没有对base进行释放,这将会导致内存泄露。 可以通过在261行函数返回ERR_IF前调用free()对base进行释放来修复这个漏洞。 Signed-off-by: Jianglei Nie --- drivers/virtio/virtnet.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/virtio/virtnet.c b/drivers/virtio/virtnet.c index 7230fa9..7b6ee62 100644 --- a/drivers/virtio/virtnet.c +++ b/drivers/virtio/virtnet.c @@ -258,6 +258,7 @@ static err_t ConfigQueue(struct VirtNetif *nic) buf = VirtmmioConfigQueue(&nic->dev, (VADDR_T)base, qsz, VIRTQ_NUM_NET); if (buf == 0) { + free(base); return ERR_IF; } -- Gitee