提交 d6e58090 编写于 作者: U Ulrich Obergfell 提交者: Anthony Liguori

severe memory leak caused by broken palette_destroy() function

The following commit breaks the code of the function palette_destroy().

http://git.kernel.org/?p=virt/kvm/qemu-kvm.git;a=commit;h=e31e3694afef58ba191cbcc6875ec243e5971268

The broken code causes a severe memory leak of 'VncPalette' structures
because it never frees anything:

     70 void palette_destroy(VncPalette *palette)
     71 {
     72     if (palette == NULL) {
     73         qemu_free(palette);
     74     }
     75 }

Version 2 of the patch calls qemu_free() unconditionally.
Signed-off-by: NUlrich Obergfell <uobergfe@redhat.com>
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
上级 05175535
......@@ -69,9 +69,7 @@ void palette_init(VncPalette *palette, size_t max, int bpp)
void palette_destroy(VncPalette *palette)
{
if (palette == NULL) {
qemu_free(palette);
}
qemu_free(palette);
}
int palette_put(VncPalette *palette, uint32_t color)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册