]> git.ipfire.org Git - thirdparty/asterisk.git/commit
res_pjsip_header_funcs: wrong pool used tdata headers
authorKevin Harwell <kharwell@sangoma.com>
Wed, 23 Mar 2022 22:45:45 +0000 (17:45 -0500)
committerKevin Harwell <kharwell@digium.com>
Wed, 30 Mar 2022 20:15:50 +0000 (15:15 -0500)
commitec5b449bcf97729f8664086049c1c4d92564be4e
tree0d954be0dfe548f799a70b2a1eeaa4f76ab5b9b6
parentbd69639a6b10e39848d6edd2a19c77f25800ef9b
res_pjsip_header_funcs: wrong pool used tdata headers

When adding headers to an outgoing request the headers were cloned using
the dialog's pool when they should have been cloned using tdata's pool.
Under certain circumstances it was possible for the dialog object, and
its pool to be freed while tdata is still active and available. Thus the
cloned header "disappeared", and when tdata tried to later access it a
crash would occur.

This patch makes it so all added headers are cloned appropriately using
tdata's pool.

ASTERISK-29411 #close
ASTERISK-29535 #close

Change-Id: I9852025b5ee93ce1c038209150ee9dba1e0767c5
res/res_pjsip_header_funcs.c