From b98d7249b74ec65c6afb16c40aefc3699386c0ce Mon Sep 17 00:00:00 2001 From: jrose Date: Fri, 27 May 2011 16:35:49 +0000 Subject: 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: http://svn.digium.com/svn/asterisk/trunk@321289 f38db490-d61c-443f-a65b-d21fe96a405b --- channels/sip/reqresp_parser.c | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) (limited to 'channels/sip') diff --git a/channels/sip/reqresp_parser.c b/channels/sip/reqresp_parser.c index 6cab6f149..6c7031730 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; } -- cgit v1.2.3