]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
rtsp: only store first_host once
authorDaniel Stenberg <daniel@haxx.se>
Thu, 10 Nov 2022 07:38:01 +0000 (08:38 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 10 Nov 2022 11:36:27 +0000 (12:36 +0100)
Suggested-by: Erik Janssen
URL: https://github.com/curl/curl/pull/9870#issuecomment-1309499744
Closes #9882

lib/rtsp.c

index e32756fd87abb80f45ebda0e3faf41fbbec48854..b071458beb413fddf0a2a06e9f572505751d2fd4 100644 (file)
@@ -270,15 +270,14 @@ static CURLcode rtsp_do(struct Curl_easy *data, bool *done)
   /* Setup the first_* fields to allow auth details get sent
      to this origin */
 
-  /* Free to avoid leaking memory on multiple requests */
-  free(data->state.first_host);
-
-  data->state.first_host = strdup(conn->host.name);
-  if(!data->state.first_host)
-    return CURLE_OUT_OF_MEMORY;
+  if(!data->state.first_host) {
+    data->state.first_host = strdup(conn->host.name);
+    if(!data->state.first_host)
+      return CURLE_OUT_OF_MEMORY;
 
-  data->state.first_remote_port = conn->remote_port;
-  data->state.first_remote_protocol = conn->handler->protocol;
+    data->state.first_remote_port = conn->remote_port;
+    data->state.first_remote_protocol = conn->handler->protocol;
+  }
 
   /* Setup the 'p_request' pointer to the proper p_request string
    * Since all RTSP requests are included here, there is no need to