input_curl: don't call input_curl_select() when already at EOF
Calling input_curl_select() after EOF has been reached causes an assertion failure. This can happen if the HTTP response is empty. Check c->eof before calling input_curl_select().
This commit is contained in:
parent
f1790fc8bf
commit
a7461dc27d
@ -225,6 +225,8 @@ input_curl_select(struct input_curl *c)
|
|||||||
.tv_usec = 0,
|
.tv_usec = 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
assert(!c->eof);
|
||||||
|
|
||||||
FD_ZERO(&rfds);
|
FD_ZERO(&rfds);
|
||||||
FD_ZERO(&wfds);
|
FD_ZERO(&wfds);
|
||||||
FD_ZERO(&efds);
|
FD_ZERO(&efds);
|
||||||
@ -478,7 +480,7 @@ input_curl_buffer(struct input_stream *is)
|
|||||||
|
|
||||||
c->buffered = false;
|
c->buffered = false;
|
||||||
|
|
||||||
if (!is->ready)
|
if (!is->ready && !c->eof)
|
||||||
/* not ready yet means the caller is waiting in a busy
|
/* not ready yet means the caller is waiting in a busy
|
||||||
loop; relax that by calling select() on the
|
loop; relax that by calling select() on the
|
||||||
socket */
|
socket */
|
||||||
|
Loading…
Reference in New Issue
Block a user