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
cleanup:
#if defined(HAVE_PJSIP_AUTH_CLT_DEINIT)
- /* Release any cached auths */
- pjsip_auth_clt_deinit(&auth_sess);
+ /* If we initialized the auth_sess, clean it up */
+ if (auth_sess.endpt) {
+ pjsip_auth_clt_deinit(&auth_sess);
+ }
#endif
ast_sip_cleanup_auth_objects_vector(&auth_objects_vector);