aboutsummaryrefslogtreecommitdiff
path: root/lib/url.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/url.c')
-rw-r--r--lib/url.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/url.c b/lib/url.c
index 5ebc9e8b9..4b8c53399 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -1925,8 +1925,8 @@ static bool IsPipeliningEnabled(struct SessionHandle *handle)
return FALSE;
}
-void Curl_addHandleToPipeline(struct SessionHandle *data,
- struct curl_llist *pipe)
+CURLcode Curl_addHandleToPipeline(struct SessionHandle *data,
+ struct curl_llist *pipe)
{
#ifdef CURLDEBUG
if(!IsPipeliningPossible(data)) {
@@ -1935,7 +1935,9 @@ void Curl_addHandleToPipeline(struct SessionHandle *data,
infof(data, "PIPE when no PIPE supposed!\n");
}
#endif
- Curl_llist_insert_next(pipe, pipe->tail, data);
+ if (!Curl_llist_insert_next(pipe, pipe->tail, data))
+ return CURLE_OUT_OF_MEMORY;
+ return CURLE_OK;
}
@@ -1995,6 +1997,9 @@ static void signalPipeClose(struct curl_llist *pipe)
{
struct curl_llist_element *curr;
+ if (!pipe)
+ return;
+
curr = pipe->head;
while (curr) {
struct curl_llist_element *next = curr->next;