Unfortunately, yajl_free() is not NOP on NULL. It really does
expect a valid pointer. Therefore, check whether the pointer we
want to pass to it is NULL or not.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
if (!hand) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Unable to create JSON parser"));
- goto cleanup;
+ return NULL;
}
/* Yajl 2 is nice enough to default to rejecting trailing garbage. */
*addrs = NULL;
*naddrs = 0;
}
- yajl_free(parser);
+ if (parser)
+ yajl_free(parser);
free(parserState.entry.ipaddr);
free(parserState.entry.macaddr);
free(parserState.entry.hostname);
*macs = NULL;
*nmacs = 0;
}
- yajl_free(parser);
+ if (parser)
+ yajl_free(parser);
for (i = 0; i < parserState.entry.nmacs; i++)
free(parserState.entry.macs[i]);
free(parserState.entry.macs);