• E
    conf: avoid memory leaks while parsing seclabel · 55d54dd9
    Eric Blake 提交于
    Our seclabel parsing was repeatedly assigning malloc'd data into a
    temporary variable, without first freeing the previous use.  Among
    other leaks flagged by valgrind:
    
    ==9312== 8 bytes in 1 blocks are definitely lost in loss record 88 of 821
    ==9312==    at 0x4A0645D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==9312==    by 0x8C40369: strdup (strdup.c:42)
    ==9312==    by 0x50EA799: virStrdup (virstring.c:676)
    ==9312==    by 0x50FAEB9: virXPathString (virxml.c:90)
    ==9312==    by 0x50FAF1E: virXPathStringLimit (virxml.c:112)
    ==9312==    by 0x510F516: virSecurityLabelDefParseXML (domain_conf.c:4571)
    ==9312==    by 0x510FB20: virSecurityLabelDefsParseXML (domain_conf.c:4720)
    
    While it was multiple problems, it looks like commit da78351b (thankfully
    unreleased) was to blame for all of them.
    
    * src/conf/domain_conf.c (virSecurityLabelDefParseXML): Plug leaks
    detected by valgrind.
    Signed-off-by: NEric Blake <eblake@redhat.com>
    55d54dd9
domain_conf.c 628.7 KB