Skip to content

Commit 9225823

Browse files
authored
Fix tonegen releases pool in wrong function. (pjsip#4166)
1 parent c31f352 commit 9225823

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

pjmedia/src/pjmedia/tonegen.c

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -572,10 +572,16 @@ static pj_status_t tonegen_destroy(pjmedia_port *port)
572572

573573
TRACE_((THIS_FILE, "tonegen_destroy()"));
574574

575-
pj_lock_acquire(tonegen->lock);
576-
pj_lock_release(tonegen->lock);
575+
if (tonegen->lock) {
576+
pj_lock_acquire(tonegen->lock);
577+
pj_lock_release(tonegen->lock);
577578

578-
pj_lock_destroy(tonegen->lock);
579+
pj_lock_destroy(tonegen->lock);
580+
tonegen->lock = NULL;
581+
}
582+
583+
if (tonegen->pool)
584+
pj_pool_safe_release(&tonegen->pool);
579585

580586
return PJ_SUCCESS;
581587
}
@@ -926,9 +932,6 @@ PJ_DEF(pj_status_t) pjmedia_tonegen_set_digit_map(pjmedia_port *port,
926932

927933
pj_lock_release(tonegen->lock);
928934

929-
if (tonegen->pool)
930-
pj_pool_safe_release(&tonegen->pool);
931-
932935
return PJ_SUCCESS;
933936
}
934937

0 commit comments

Comments
 (0)