Lagrange [dev]
gemini responses: Fix unbounded header length
d2a42123bf866c5095e1d67d274c8d87d10e685e
[1mdiff --git a/src/gmrequest.c b/src/gmrequest.c[m
[1mindex 9b9d2659..72270f88 100644[m
[1m--- a/src/gmrequest.c[m
[1m+++ b/src/gmrequest.c[m
[36m@@ -267,6 +267,13 @@[m [mstatic int processIncomingData_GmRequest_(iGmRequest *d, const iBlock *data) {[m
checkServerCertificate_GmRequest_(d);[m
iRelease(metaPattern);[m
}[m
[32m+[m[32m else if (size_String(&resp->meta) > 2048) {[m
[32m+[m[32m /* The Gemini "tech overview" caps <META> at 1024 bytes; use 2048 for generosity */[m
[32m+[m[32m clear_String(&resp->meta);[m
[32m+[m[32m resp->statusCode = invalidHeader_GmStatusCode;[m
[32m+[m[32m d->state = finished_GmRequestState;[m
[32m+[m[32m notifyDone = iTrue;[m
[32m+[m[32m }[m
}[m
else if (d->state == receivingBody_GmRequestState) {[m
append_Block(&resp->body, data);[m