]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
urlapi: avoid mutating internals in getter routine
authorrcombs <rcombs@rcombs.me>
Wed, 8 Mar 2023 08:12:25 +0000 (02:12 -0600)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 8 Mar 2023 14:38:18 +0000 (15:38 +0100)
This was not intended.

Closes #10708

lib/urlapi.c

index c2caafbf0f78434696d3b1109ea45ad6d909ea45..fca1fc74d71180742f384286cf7c0608bcb9a4a9 100644 (file)
@@ -1441,11 +1441,8 @@ CURLUcode curl_url_get(CURLU *u, CURLUPart what,
     break;
   case CURLUPART_PATH:
     ptr = u->path;
-    if(!ptr) {
-      ptr = u->path = strdup("/");
-      if(!u->path)
-        return CURLUE_OUT_OF_MEMORY;
-    }
+    if(!ptr)
+      ptr = "/";
     break;
   case CURLUPART_QUERY:
     ptr = u->query;
@@ -1555,8 +1552,7 @@ CURLUcode curl_url_get(CURLU *u, CURLUPart what,
               return CURLUE_OUT_OF_MEMORY;
             host++;
           }
-          free(u->host);
-          u->host = Curl_dyn_ptr(&enc);
+          allochost = Curl_dyn_ptr(&enc);
         }
       }