Merged revisions 321273 via svnmerge from
authorJonathan Rose <jrose@digium.com>
Fri, 27 May 2011 16:35:49 +0000 (16:35 +0000)
committerJonathan Rose <jrose@digium.com>
Fri, 27 May 2011 16:35:49 +0000 (16:35 +0000)
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

index 6cab6f1..6c70317 100644 (file)
@@ -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;
        }