From 0caae9660901bb3a34bd39db764afdd03124ec44 Mon Sep 17 00:00:00 2001 From: Jonathan Rose Date: Fri, 27 May 2011 16:35:49 +0000 Subject: [PATCH] Merged revisions 321273 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r321273 | jrose | 2011-05-27 09:59:34 -0500 (Fri, 27 May 2011) | 3 lines markm committed a patch I was working on yesterday, this fixes it to mesh up with suggestions by mnicholson. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@321289 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/sip/reqresp_parser.c | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/channels/sip/reqresp_parser.c b/channels/sip/reqresp_parser.c index 6cab6f1..6c70317 100644 --- a/channels/sip/reqresp_parser.c +++ b/channels/sip/reqresp_parser.c @@ -42,25 +42,29 @@ int parse_uri_full(char *uri, const char *scheme, char **user, char **pass, char *c = NULL; int error = 0; + /* + * Initialize requested strings - some functions don't care if parse_uri fails + * and will attempt to use string pointers passed into parse_uri even after a + * parse_uri failure + */ + if (user) { + *user = ""; + } + if (pass) { + *pass = ""; + } + if (domain) { + *domain = ""; + } + if (headers) { + *headers = ""; + } + if (residue) { + *residue = ""; + } + /* check for valid input */ if (ast_strlen_zero(uri)) { - /* make sure we leave nothing undefined after we exit */ - if (user) { - *user = ""; - } - if (pass) { - *pass = ""; - } - if (domain) { - *domain = ""; - } - if (headers) { - *headers = ""; - } - if (residue) { - *residue = ""; - } - return -1; } -- 1.7.9.5