KR> static CMPIInstance *prepare_indication(const CMPIBroker *broker,
KR> CMPIInstance *inst,
KR> - char *ns,
KR> + struct migration_job *job,
KR> int ind_type,
KR> CMPIStatus *s)
KR> {
KR> const char *ind_name = NULL;
KR> CMPIInstance *ind = NULL;
KR> CMPIInstance *prev_inst = NULL;
KR> + const char *pfx = NULL;
KR> ind_name = ind_type_to_name(ind_type);
KR> CU_DEBUG("Creating indication.");
KR> - /* Prefix needs to be dynamic */
KR> +
KR> + pfx = pfx_from_conn(job->conn);
I think you leak 'pfx'.
KR> @@ -816,15 +808,20 @@
KR> CMPIStatus *s)
KR> {
KR> CMPIObjectPath *ref = NULL;
KR> + char *type;
KR> +
KR> + type = get_typed_class(job->ref_cn, "MigrationJob");
KR> ref = CMNewObjectPath(_BROKER,
job-> ref_ns,
KR> - "Virt_MigrationJob",
KR> + type,
KR> s);
KR> - if (s->rc != CMPI_RC_OK) {
KR> + if (s->rc != CMPI_RC_OK) {
The only change to this line is the addition of some trailing
whitespace.
KR> CU_DEBUG("Failed to create job ref for update");
KR> goto out;
KR> }
KR> +
KR> + free(type);
It looks like you leak 'type' if you take the "goto out" in the context
above. There may be other places too.
--
Dan Smith
IBM Linux Technology Center
Open Hypervisor Team
email: danms(a)us.ibm.com