From 643f7e97440c0e8b1d8649363a91bac00202a10c Mon Sep 17 00:00:00 2001 From: Marko Rauhamaa Date: Sat, 18 Apr 2026 18:52:36 +0300 Subject: [PATCH] Check return value of http_op_get_response_content The call can fail with a protocol error if the server sends a malformed Content-length or unknown Transfer-encoding. --- src/jsonop.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/jsonop.c b/src/jsonop.c index bb036d1..a686038 100644 --- a/src/jsonop.c +++ b/src/jsonop.c @@ -164,7 +164,12 @@ static bool jockey_requested(jsonop_t *op) } return false; } - http_op_get_response_content(op->http_op, &op->response_stream); + if (http_op_get_response_content(op->http_op, &op->response_stream) < 0) { + assert(errno != EAGAIN); + op->err = errno; + set_op_state(op, JSONOP_FAILED); + return false; + } int response_code = http_env_get_code(op->response_headers); if (response_code != 200) { set_op_state(op, JSONOP_DONE_OTHER);