2
0
Эх сурвалжийг харах

pua: remove wrong free of TM callback param in send_publish()

- reported by Charles Chance and Juha Heinanen
Daniel-Constantin Mierla 13 жил өмнө
parent
commit
1d89d7bea8

+ 13 - 10
modules_k/pua/send_publish.c

@@ -695,15 +695,24 @@ done:
 			goto error;
 		}
 	}
+	goto finish;
 
 error:
-	if(etag.s)
-		pkg_free(etag.s);
-
+	ret = -1;
 	if(cb_param)
 		shm_free(cb_param);
 
-	if(body&& ret_code)
+	if (dbmode == PUA_DB_ONLY && pua_dbf.abort_transaction)
+	{
+		if (pua_dbf.abort_transaction(pua_db) < 0)
+			LM_ERR("in abort_transaction\n");
+	}
+
+finish:
+	if(etag.s)
+		pkg_free(etag.s);
+
+	if(body && ret_code)
 	{
 		if(body->s)
 			xmlFree(body->s);
@@ -719,12 +728,6 @@ error:
 	}
 	free_results_puadb(res);
 
-	if (dbmode == PUA_DB_ONLY && pua_dbf.abort_transaction)
-	{
-		if (pua_dbf.abort_transaction(pua_db) < 0)
-			LM_ERR("in abort_transaction\n");
-	}
-
 	return ret;
 }