]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_pjsip_nat: Fix potential use of uninitialized transport details
authorMaximilian Fridrich <m.fridrich@commend.com>
Mon, 8 Jan 2024 06:03:10 +0000 (07:03 +0100)
committerAsterisk Development Team <asteriskteam@digium.com>
Fri, 12 Jan 2024 18:32:13 +0000 (18:32 +0000)
The ast_sip_request_transport_details must be zero initialized,
otherwise this could lead to a SEGV.

Resolves: #509
(cherry picked from commit 81188ada5fb3299dad3ea8107c31bcde3e39686a)

res/res_pjsip.c
res/res_pjsip_nat.c

index 50bb6575fa30b5417bd2350c0448cdc9df0c173e..fb0383e206dd980f7f646f9d3a230b5e8faeaab2 100644 (file)
@@ -605,7 +605,7 @@ struct ast_sip_transport_state *ast_sip_find_transport_state_in_use(struct ast_s
 int ast_sip_rewrite_uri_to_local(pjsip_sip_uri *uri, pjsip_tx_data *tdata) {
        RAII_VAR(struct ast_sip_transport *, transport, NULL, ao2_cleanup);
        RAII_VAR(struct ast_sip_transport_state *, transport_state, NULL, ao2_cleanup);
-       struct ast_sip_request_transport_details details;
+       struct ast_sip_request_transport_details details = { 0, };
        pjsip_sip_uri *tmp_uri;
        pjsip_dialog *dlg;
        struct ast_sockaddr addr = { { 0, } };
index 62f8aa0b2364ac0ff1f8fb3df5723ec77255d727..b8d4ac4cd47cafe4e96fcc98128573fa9f5ff22e 100644 (file)
@@ -319,8 +319,8 @@ static pj_status_t process_nat(pjsip_tx_data *tdata)
 {
        RAII_VAR(struct ast_sip_transport *, transport, NULL, ao2_cleanup);
        RAII_VAR(struct ast_sip_transport_state *, transport_state, NULL, ao2_cleanup);
+       struct ast_sip_request_transport_details details = { 0, };
        pjsip_via_hdr *via = NULL;
-       struct ast_sip_request_transport_details details;
        struct ast_sockaddr addr = { { 0, } };
        pjsip_sip_uri *uri = NULL;
        RAII_VAR(struct ao2_container *, hooks, NULL, ao2_cleanup);