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 <toblemi...@gmail.com>
---
 uclient-http.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/uclient-http.c b/uclient-http.c
index ebe7758..8d6d327 100644
--- a/uclient-http.c
+++ b/uclient-http.c
@@ -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;
 }
 
-- 
2.18.0


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to