From 52bcb7b3966cb5530c8cc9759d13618d44784082 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Fri, 15 May 2009 16:05:59 +0000 Subject: [PATCH] Wed May 13 11:00:40 CDT 2009 Pekka Pessi * auth_client.c: removed leak in auc_digest_authorization() Ignore-this: 9b0297083b6c6ce1bf9ef3d723b01f3b Coverity issue. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13337 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- libs/sofia-sip/.update | 2 +- libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/libs/sofia-sip/.update b/libs/sofia-sip/.update index 8ff303cd62..185e778096 100644 --- a/libs/sofia-sip/.update +++ b/libs/sofia-sip/.update @@ -1 +1 @@ -Fri May 15 11:04:52 CDT 2009 +Fri May 15 11:05:48 CDT 2009 diff --git a/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c b/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c index 0850f7bd79..3ad92407c5 100644 --- a/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c +++ b/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c @@ -919,9 +919,9 @@ int auc_digest_authorization(auth_client_t *ca, auth_challenge_t const *ac = cda->cda_ac; char const *cnonce = cda->cda_cnonce; unsigned nc = ++cda->cda_ncount; - char *uri = url_as_string(home, url); void const *data = body ? body->pl_data : ""; usize_t dlen = body ? body->pl_len : 0; + char *uri; msg_header_t *h; auth_hexmd5_t sessionkey, response; @@ -942,7 +942,10 @@ int auc_digest_authorization(auth_client_t *ca, ar->ar_qop = NULL; ar->ar_auth = ac->ac_auth; ar->ar_auth_int = ac->ac_auth_int; - ar->ar_uri = uri; + ar->ar_uri = uri = url_as_string(home, url); + + if (ar->ar_uri == NULL) + return -1; /* If there is no qop, we MUST NOT include cnonce or nc */ if (!ar->ar_auth && !ar->ar_auth_int)