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