uclient-http: Close ustream file handle only if allocated
authorTobias Schramm <tobleminer@gmail.com>
Fri, 3 Aug 2018 21:39:21 +0000 (23:39 +0200)
committerJo-Philipp Wich <jo@mein.io>
Fri, 3 Aug 2018 21:46:06 +0000 (23:46 +0200)
Since the connection setup in uclient_do_connect can fail before
ustream_init_fd is called we must check the fd was actually allocated
before closing it, else we would close STDIN.

Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
uclient-http.c

index ebe7758..8d6d327 100644 (file)
@@ -149,7 +149,8 @@ static void uclient_http_disconnect(struct uclient_http *uh)
        if (uh->ssl)
                ustream_free(&uh->ussl.stream);
        ustream_free(&uh->ufd.stream);
-       close(uh->ufd.fd.fd);
+       if(uh->ufd.fd.fd)
+               close(uh->ufd.fd.fd);
        uh->us = NULL;
 }