]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
markm committed a patch I was working on yesterday, this fixes it to mesh up with...
authorJonathan Rose <jrose@digium.com>
Fri, 27 May 2011 14:59:34 +0000 (14:59 +0000)
committerJonathan Rose <jrose@digium.com>
Fri, 27 May 2011 14:59:34 +0000 (14:59 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321273 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/sip/reqresp_parser.c

index 0893c0f5262fadb08de5cb80dc0eea19d278dfa2..300acad5e5bbfca657612b02ca39be9aa278721d 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;
        }