diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c index e370eb887ad44423ef283fc97832275311addc3b..4d9dcd13592398e2197eb50fb313e70e94ff87ae 100644 --- a/src/xen/xend_internal.c +++ b/src/xen/xend_internal.c @@ -4696,12 +4696,17 @@ xenDaemonListDefinedDomains(virConnectPtr conn, char **const names, int maxnames break; } +cleanup: + sexpr_free(root); + return(ret); + error: for (i = 0; i < ret; ++i) VIR_FREE(names[i]); - sexpr_free(root); - return(ret); + ret = -1; + + goto cleanup; } /**