summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2016-11-11 11:25:39 +0100
committerPatrick Steinhardt <ps@pks.im>2016-11-11 11:25:39 +0100
commitb7822050c99b8ea198d96e98cb720aa24a8230d0 (patch)
tree9f13b1e0537853d53b35c1e8e3136153db373e4e
parent5fe5557e8a8d3fd6a4617c2d8c863c1f62848020 (diff)
parent5ca75fd52c36f63fe9b1218e79953411d4435a9d (diff)
downloadlibgit2-b7822050c99b8ea198d96e98cb720aa24a8230d0.tar.gz
Merge pull request #3993 from alexcrichton/fix-fault
-rw-r--r--src/curl_stream.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/curl_stream.c b/src/curl_stream.c
index 98de187dd..3a3f364b2 100644
--- a/src/curl_stream.c
+++ b/src/curl_stream.c
@@ -121,6 +121,11 @@ static int curls_connect(git_stream *stream)
return seterr_curl(s);
}
+ if (sockextr == -1) {
+ giterr_set(GITERR_NET, "curl socket is no longer valid");
+ return -1;
+ }
+
s->socket = sockextr;
if (s->parent.encrypted && failed_cert)
@@ -198,6 +203,7 @@ static int wait_for(curl_socket_t fd, bool reading)
FD_ZERO(&outfd);
FD_ZERO(&errfd);
+ assert(fd >= 0);
FD_SET(fd, &errfd);
if (reading)
FD_SET(fd, &infd);