commit d799ddd2354c2b41507232580799a2598458b2e9 parent 19f3aeda821f50dcdc6aceef883534e313ba74ef Author: Christian Grothoff <christian@grothoff.org> Date: Thu, 28 May 2026 21:01:14 +0200 fix incorrect chunk_size_line_len calculation: excluded terminating '\n' Diffstat:
| M | src/mhd2/stream_process_request.c | | | 7 | ++++--- |
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/mhd2/stream_process_request.c b/src/mhd2/stream_process_request.c @@ -3390,11 +3390,12 @@ process_request_chunked_body (struct MHD_Connection *restrict c) break; /* need more data */ mhd_assert (i > num_dig); mhd_assert (1 <= i); - /* Found LF position */ + /* Found LF position at 'i' (buffer_head[i] = '\n'), chunk ends at i+1 */ if (bare_lf_as_crlf) - chunk_size_line_len = i; /* Don't care about CR before LF */ + chunk_size_line_len = i + 1; /* Don't care about CR before LF */ else if ('\r' == buffer_head[i - 1]) - chunk_size_line_len = i; + chunk_size_line_len = i + 1; /* Have CR LF, all good */ + /* else: invalid termination, leave chunk_size_line_len at 0 */ } else { /* No ';' after "bad whitespace" */