From 6693c49a6a4532478dbf838ed6a169558652b50a Mon Sep 17 00:00:00 2001 From: David Vossel Date: Thu, 23 Jun 2011 18:31:42 +0000 Subject: Merged revisions 324685 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r324685 | dvossel | 2011-06-23 13:31:00 -0500 (Thu, 23 Jun 2011) | 8 lines Fixes sip crash when calling remove_uri_parameters with NULL AST-2011-009 (closes issue ASTERISK-18017) Reported by: jaredmauch ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@324689 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/sip/reqresp_parser.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'channels/sip') diff --git a/channels/sip/reqresp_parser.c b/channels/sip/reqresp_parser.c index 6c7031730..37d77d418 100644 --- a/channels/sip/reqresp_parser.c +++ b/channels/sip/reqresp_parser.c @@ -1029,14 +1029,14 @@ int get_in_brackets_full(char *tmp,char **out,char **residue) only affects token based display-names there is no danger of brackets being in quotes */ if (first_bracket) { parse = first_bracket; - } else { + } else { parse = tmp; } if ((second_bracket = strchr(parse, '>'))) { *second_bracket++ = '\0'; if (out) { - *out = first_bracket; + *out = (char *) parse; } if (residue) { *residue = second_bracket; @@ -1045,9 +1045,9 @@ int get_in_brackets_full(char *tmp,char **out,char **residue) } if ((first_bracket)) { - ast_log(LOG_WARNING, "No closing bracket found in '%s'\n", tmp); + ast_log(LOG_WARNING, "No closing bracket found in '%s'\n", tmp); return -1; - } + } if (out) { *out = tmp; @@ -1076,6 +1076,7 @@ AST_TEST_DEFINE(get_in_brackets_test) char name_no_quotes[] = "name not in quotes "; char no_end_bracket[] = "name not in quotes