]> xenbits.xensource.com Git - libvirt.git/commitdiff
virSecurityDACChownListFree: Don't leak list->items array
authorMichal Privoznik <mprivozn@redhat.com>
Tue, 13 Mar 2018 11:59:43 +0000 (12:59 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 13 Mar 2018 14:38:17 +0000 (15:38 +0100)
We're freeing individual items in it but not the array itself.

==19200== 40 bytes in 1 blocks are definitely lost in loss record 847 of 1,059
==19200==    at 0x4C2D12F: realloc (vg_replace_malloc.c:785)
==19200==    by 0x52C5532: virReallocN (viralloc.c:245)
==19200==    by 0x52C5628: virExpandN (viralloc.c:294)
==19200==    by 0x52C58FC: virInsertElementsN (viralloc.c:436)
==19200==    by 0x542856B: virSecurityDACChownListAppend (security_dac.c:115)
==19200==    by 0x54286B4: virSecurityDACTransactionAppend (security_dac.c:167)
==19200==    by 0x542902F: virSecurityDACSetOwnershipInternal (security_dac.c:560)
==19200==    by 0x54295D6: virSecurityDACSetOwnership (security_dac.c:650)
==19200==    by 0x542AEE0: virSecurityDACSetInputLabel (security_dac.c:1472)
==19200==    by 0x542B61D: virSecurityDACSetAllLabel (security_dac.c:1693)
==19200==    by 0x542DD67: virSecurityManagerSetAllLabel (security_manager.c:869)
==19200==    by 0x54279C2: virSecurityStackSetAllLabel (security_stack.c:361)

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/security/security_dac.c

index 74446d66443c3588d396137d8245f55b06837de8..663c8c9eaf52b893d6ec54ced0b2db85d2c7e91f 100644 (file)
@@ -137,6 +137,7 @@ virSecurityDACChownListFree(void *opaque)
         VIR_FREE(list->items[i]->path);
         VIR_FREE(list->items[i]);
     }
+    VIR_FREE(list->items);
     VIR_FREE(list);
 }