- part of t_uac_prepare(), reported by GH #1554 (cherry picked from commit f94770840029c1c73ab129f4b71fcb0cf146d808) (cherry picked from commit 3da0bcb4b4e27d115a2d6eb47cd0cebc33d34a61)
@@ -575,11 +575,18 @@ static inline int t_uac_prepare(uac_req_t *uac_r,
error2:
#ifdef TM_DEL_UNREF
- if (!is_ack) {
- UNREF_FREE(new_cell);
- }else
-#endif
+ if (is_ack) {
free_cell(new_cell);
+ } else {
+ if(atomic_get_int(&new_cell->ref_count)==0) {
+ free_cell(new_cell);
+ UNREF_FREE(new_cell);
+ }
+#else
+#endif
error3:
return ret;
}