size_t i;
remote_connect_get_all_domain_stats_args args;
remote_connect_get_all_domain_stats_ret ret;
-
+ virDomainStatsRecordPtr elem = NULL;
virDomainStatsRecordPtr *tmpret = NULL;
if (ndoms) {
goto cleanup;
for (i = 0; i < ret.retStats.retStats_len; i++) {
- virDomainStatsRecordPtr elem;
remote_domain_stats_record *rec = ret.retStats.retStats_val + i;
if (VIR_ALLOC(elem) < 0)
goto cleanup;
tmpret[i] = elem;
+ elem = NULL;
}
*retStats = tmpret;
rv = ret.retStats.retStats_len;
cleanup:
+ if (elem) {
+ virObjectUnref(elem->dom);
+ VIR_FREE(elem);
+ }
virDomainStatsRecordListFree(tmpret);
xdr_free((xdrproc_t)xdr_remote_connect_get_all_domain_stats_ret,
(char *) &ret);