mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-09 14:35:25 +00:00
virSecurityManagerNewDriver: Fix code pattern
Use 'error' label to free allocated memory. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
39015a6f3a
commit
c060e400d9
@ -73,8 +73,8 @@ virSecurityManagerNewDriver(virSecurityDriverPtr drv,
|
|||||||
const char *virtDriver,
|
const char *virtDriver,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
virSecurityManagerPtr mgr;
|
virSecurityManagerPtr mgr = NULL;
|
||||||
char *privateData;
|
char *privateData = NULL;
|
||||||
|
|
||||||
if (virSecurityManagerInitialize() < 0)
|
if (virSecurityManagerInitialize() < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -87,22 +87,22 @@ virSecurityManagerNewDriver(virSecurityDriverPtr drv,
|
|||||||
if (VIR_ALLOC_N(privateData, drv->privateDataLen) < 0)
|
if (VIR_ALLOC_N(privateData, drv->privateDataLen) < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (!(mgr = virObjectLockableNew(virSecurityManagerClass))) {
|
if (!(mgr = virObjectLockableNew(virSecurityManagerClass)))
|
||||||
VIR_FREE(privateData);
|
goto error;
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
mgr->drv = drv;
|
mgr->drv = drv;
|
||||||
mgr->flags = flags;
|
mgr->flags = flags;
|
||||||
mgr->virtDriver = virtDriver;
|
mgr->virtDriver = virtDriver;
|
||||||
mgr->privateData = privateData;
|
VIR_STEAL_PTR(mgr->privateData, privateData);
|
||||||
|
|
||||||
if (drv->open(mgr) < 0) {
|
if (drv->open(mgr) < 0)
|
||||||
virObjectUnref(mgr);
|
goto error;
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return mgr;
|
return mgr;
|
||||||
|
error:
|
||||||
|
VIR_FREE(privateData);
|
||||||
|
virObjectUnref(mgr);
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user