This fixes the sole remaining leak exposed by "make check" vs. valgrind. Actually it fixes two leaks, but the duplicate sound string one isn't triggered by the tests. >From 495abbe5adcb27187f4831a67f0821d62f36602e Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyering@xxxxxxxxxx> Date: Thu, 22 May 2008 21:34:19 +0200 Subject: [PATCH] plug two sound-related leaks * src/qemu_conf.c (qemudFreeVMDef): Also free def->sounds. (qemudParseXML): Avoid leak also for duplicate sound string. --- src/qemu_conf.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) diff --git a/src/qemu_conf.c b/src/qemu_conf.c index 15bf253..5c20023 100644 --- a/src/qemu_conf.c +++ b/src/qemu_conf.c @@ -215,6 +215,7 @@ void qemudFreeVMDef(struct qemud_vm_def *def) { struct qemud_vm_input_def *input = def->inputs; struct qemud_vm_chr_def *serial = def->serials; struct qemud_vm_chr_def *parallel = def->parallels; + struct qemud_vm_sound_def *sound = def->sounds; while (disk) { struct qemud_vm_disk_def *prev = disk; @@ -241,6 +242,11 @@ void qemudFreeVMDef(struct qemud_vm_def *def) { parallel = parallel->next; free(prev); } + while (sound) { + struct qemud_vm_sound_def *prev = sound; + sound = sound->next; + free(prev); + } xmlFree(def->keymap); free(def); } @@ -2187,8 +2193,10 @@ static struct qemud_vm_def *qemudParseXML(virConnectPtr conn, } check = check->next; } - if (collision) + if (collision) { + free(sound); continue; + } def->nsounds++; sound->next = NULL; -- 1.5.5.1.249.g26848 -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list