- part of t_uac_prepare(), reported by GH #1554
@@ -583,11 +583,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;
}