mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-26 22:30:28 +00:00
res_pjsip_outbound_authenticator_digest: Prevent ABRT on cleanup
In dev mode, if you call pjsip_auth_clt_deinit() with an auth_sess that hasn't been initialized, it'll assert and abort. If digest_create_request_with_auth() fails to find the proper auth object however, it jumps to its cleanup which does exactly that. So now we no longer attempt to call pjsip_auth_clt_deinit() if we never actually initialized it. ASTERISK-29888 Change-Id: Ib6171c25c9fe8e61cc8d11129e324c021bc30b62
This commit is contained in:
@@ -563,8 +563,10 @@ static int digest_create_request_with_auth(const struct ast_sip_auth_vector *aut
|
|||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
#if defined(HAVE_PJSIP_AUTH_CLT_DEINIT)
|
#if defined(HAVE_PJSIP_AUTH_CLT_DEINIT)
|
||||||
/* Release any cached auths */
|
/* If we initialized the auth_sess, clean it up */
|
||||||
|
if (auth_sess.endpt) {
|
||||||
pjsip_auth_clt_deinit(&auth_sess);
|
pjsip_auth_clt_deinit(&auth_sess);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ast_sip_cleanup_auth_objects_vector(&auth_objects_vector);
|
ast_sip_cleanup_auth_objects_vector(&auth_objects_vector);
|
||||||
|
|||||||
Reference in New Issue
Block a user