6114807 tests: fix segfault in objecteventtest

Authored and Committed by Roman Bogorodskiy 7 years ago
    tests: fix segfault in objecteventtest
    
    Test 12 from objecteventtest (createXML add event) segaults on FreeBSD
    with bus error.
    
    At some point it calls testNodeDeviceDestroy() from the test driver. And
    it fails when it tries to unlock the device in the "out:" label of this
    function.
    
    Unlocking fails because the previous step was a call to
    virNodeDeviceObjRemove from conf/node_device_conf.c. This function
    removes the given device from the device list and cleans up the object,
    including destroying of its mutex. However, it does not nullify the pointer
    that was given to it.
    
    As a result, we end up in testNodeDeviceDestroy() here:
    
     out:
        if (obj)
            virNodeDeviceObjUnlock(obj);
    
    And instead of skipping this, we try to do Unlock and fail because of
    malformed mutex.
    
    Change virNodeDeviceObjRemove to use double pointer and set pointer to
    NULL.
    
        
file modified
+7 -6
file modified
+1 -1
file modified
+1 -1