]> granicus.if.org Git - curl/commitdiff
url: Fix conn reuse for local ports and interfaces
authorJay Satiro <raysatiro@yahoo.com>
Tue, 22 Nov 2016 21:10:06 +0000 (16:10 -0500)
committerJay Satiro <raysatiro@yahoo.com>
Tue, 22 Nov 2016 21:10:06 +0000 (16:10 -0500)
- Fix connection reuse for when the proposed new conn 'needle' has a
specified local port but does not have a specified device interface.

Bug: https://curl.haxx.se/mail/lib-2016-11/0137.html
Reported-by: bjt3[at]hotmail.com
lib/url.c

index 7106d46d41813bbd1e1125166a8f4d0467dceaa5..552be9468780de5a6e604f56334a963409301212 100644 (file)
--- a/lib/url.c
+++ b/lib/url.c
@@ -3400,9 +3400,8 @@ ConnectionExists(struct Curl_easy *data,
         */
         if((check->localport != needle->localport) ||
            (check->localportrange != needle->localportrange) ||
-           !check->localdev ||
-           !needle->localdev ||
-           strcmp(check->localdev, needle->localdev))
+           (needle->localdev &&
+            (!check->localdev || strcmp(check->localdev, needle->localdev))))
           continue;
       }