diff --git a/src/util/virnetlink.c b/src/util/virnetlink.c index 74f43ac3a02ebe2b653690845ccbb84e06b28f76..e609494ffcca8f973a0a51f8a2f7810a9e2d67c2 100644 --- a/src/util/virnetlink.c +++ b/src/util/virnetlink.c @@ -347,11 +347,13 @@ virNetlinkEventServiceStart(void) if (VIR_ALLOC(srv) < 0) { virReportOOMError(); - goto error; + return -1; } - if (virMutexInit(&srv->lock) < 0) - goto error; + if (virMutexInit(&srv->lock) < 0) { + VIR_FREE(srv); + return -1; + } virNetlinkEventServerLock(srv); @@ -410,7 +412,6 @@ error_locked: virMutexDestroy(&srv->lock); VIR_FREE(srv); } -error: return ret; }