On 05/18/2015 05:44 PM, Maxim Nestratov wrote:
Don't forget to unlock domain on error path
Signed-off-by: Maxim Nestratov <mnestratov(a)parallels.com>
---
src/parallels/parallels_sdk.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/parallels/parallels_sdk.c b/src/parallels/parallels_sdk.c
index 786e0ad..faae1ae 100644
--- a/src/parallels/parallels_sdk.c
+++ b/src/parallels/parallels_sdk.c
@@ -1443,8 +1443,10 @@ prlsdkAddDomain(parallelsConnPtr privconn, const unsigned char
*uuid)
}
sdkdom = prlsdkSdkDomainLookupByUUID(privconn, uuid);
- if (sdkdom == PRL_INVALID_HANDLE)
+ if (sdkdom == PRL_INVALID_HANDLE) {
+ virObjectUnlock(dom);
return NULL;
+ }
dom = prlsdkLoadDomain(privconn, sdkdom, NULL);
PrlHandle_Free(sdkdom);
Is it really needed? dom is always NULL on this error path.
dom = virDomainObjListFindByUUID(privconn->domains, uuid);
if (dom) {
/* domain is already in the list */
return dom;
}
sdkdom = prlsdkSdkDomainLookupByUUID(privconn, uuid);
if (sdkdom == PRL_INVALID_HANDLE)
return NULL;