From ccd79befa64862721637b1bde36d82afad2db9db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net> Date: Sat, 1 Feb 2025 00:45:11 -0500 Subject: [PATCH] Fix header parsing... content-length: and content-transfer-encoding: were badly broken. --- src/syncterm/webget.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/syncterm/webget.c b/src/syncterm/webget.c index 916d2f6cac..b627ccd06a 100644 --- a/src/syncterm/webget.c +++ b/src/syncterm/webget.c @@ -640,7 +640,7 @@ parse_headers(struct http_session *sess) } else if(strnicmp(line, "content-length:", 15) == 0) { errno = 0; - long long ll = strtoll(&line[4], NULL, 10); + long long ll = strtoll(&line[15], NULL, 10); if (ll > 0 || errno == 0) { if (ll > MAX_LIST_SIZE) { set_msgf(sess->req, "Content Too Large (%lld)", ll); @@ -652,8 +652,8 @@ parse_headers(struct http_session *sess) assert_pthread_mutex_unlock(&sess->req->mtx); } } - else if(strnicmp(line, "content-transfer-encoding:", 40) == 0) { - const char *val = skipws(&line[40]); + else if(strnicmp(line, "content-transfer-encoding:", 26) == 0) { + const char *val = skipws(&line[26]); const char *sep; const char *end = find_end(val, &sep); if (sep != NULL) { -- GitLab