c53e4ae storage: Fix error path in virStoragePoolObjLoad

Authored and Committed by John Ferlan 8 years ago
    storage: Fix error path in virStoragePoolObjLoad
    
    While reviewing how storage driver used ObjListPtr's for reference
    in some recent secret driver patches to use the same mechanism, I came
    across an instance where the wrong API was called for error paths after
    successfully allocating the storage pool pointer and inserting into
    the driver pool list.
    
    The path is after virStoragePoolObjAssignDef succeeds - the 'def' passed
    in is assigned to pool->def (or newDef) so it shouldn't be the only thing
    deleted. The pool is now part of driver->pools.objs, so it would need to
    be removed (as happens in the storagePoolCreateXML error paths).
    
    Rather than calling virStoragePoolDefFree to free the def which is now
    assigned to the pool, call virStoragePoolObjRemove to ensure the pool
    element is removed from the driver list and that anything stored in pool
    is properly handled by virStoragePoolObjFree including the call to
    virStoragePoolDefFree for the pool->{def|newDef} element.
    
        
file modified
+2 -2