From b1005d127f164f49cf5aa08904b85194c5caf921 Mon Sep 17 00:00:00 2001 From: Stefan Eissing Date: Fri, 1 Mar 2024 09:12:50 +0100 Subject: [PATCH] bufq: writing into a softlimit queue cannot be partial - when unable to obtain a new chunk on a softlimit bufq, this is an allocation error and needs to be reported as such. - writes into a soflimit bufq never must be partial success Reported-by: Dan Fandrich Fixes #13020 Closes #13023 --- lib/bufq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bufq.c b/lib/bufq.c index 4369fe0b26..c3245516c9 100644 --- a/lib/bufq.c +++ b/lib/bufq.c @@ -396,7 +396,7 @@ ssize_t Curl_bufq_write(struct bufq *q, while(len) { tail = get_non_full_tail(q); if(!tail) { - if(q->chunk_count < q->max_chunks) { + if((q->chunk_count < q->max_chunks) || (q->opts & BUFQ_OPT_SOFT_LIMIT)) { *err = CURLE_OUT_OF_MEMORY; return -1; }