diff --git a/src/util/virnetlink.c b/src/util/virnetlink.c index b2e9d518d0..33db8db96c 100644 --- a/src/util/virnetlink.c +++ b/src/util/virnetlink.c @@ -337,11 +337,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); @@ -400,7 +402,6 @@ error_locked: virMutexDestroy(&srv->lock); VIR_FREE(srv); } -error: return ret; }