You need to sign in or sign up before continuing.
  • R
    tests: fix segfault in objecteventtest · 61148074
    Roman Bogorodskiy 提交于
    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.
    61148074
test_driver.c 194.1 KB