f42e23773a5fd7a5d3f0fd1c1a6f183ab1175772
galt
  Wed May 24 11:25:16 2017 -0700
File descriptor leak in netLineFileMayOpen when error-condition occurs. Reported by Jonathan.

diff --git src/lib/net.c src/lib/net.c
index b8ddb22..473a0c1 100644
--- src/lib/net.c
+++ src/lib/net.c
@@ -1672,30 +1672,31 @@
 int sd = netUrlOpen(url);
 if (sd < 0)
     {
     warn("Couldn't open %s", url);
     return NULL;
     }
 else
     {
     struct lineFile *lf = NULL;
     char *newUrl = NULL;
     int newSd = 0;
     if (startsWith("http://",url) || startsWith("https://",url))
 	{  
 	if (!netSkipHttpHeaderLinesHandlingRedirect(sd, url, &newSd, &newUrl))
 	    {
+	    close(sd);
 	    return NULL;
 	    }
 	if (newUrl != NULL)
 	    {
     	    /*  Update sd with newSd, replace it with newUrl, etc. */
 	    sd = newSd;
 	    url = newUrl;
 	    }
 	}
     char *urlDecoded = cloneString(url);
     cgiDecode(url, urlDecoded, strlen(url));
     boolean isCompressed =
 	(endsWith(urlDecoded,".gz") ||
    	 endsWith(urlDecoded,".Z")  ||
 	 endsWith(urlDecoded,".bz2"));