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: Ulrich Obergfell <uobergfe@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Ulrich Obergfell 2011-03-25 04:45:54 -04:00 committed by Anthony Liguori
parent 05175535a3
commit d6e58090fe

View File

@ -69,9 +69,7 @@ void palette_init(VncPalette *palette, size_t max, int bpp)
void palette_destroy(VncPalette *palette) void palette_destroy(VncPalette *palette)
{ {
if (palette == NULL) { qemu_free(palette);
qemu_free(palette);
}
} }
int palette_put(VncPalette *palette, uint32_t color) int palette_put(VncPalette *palette, uint32_t color)