From e50696b285d6f72db1d53226857381f4ac23e212 Mon Sep 17 00:00:00 2001 From: "Zamrony P. Juhara" Date: Tue, 4 May 2021 10:19:15 +0700 Subject: [PATCH] check for valid header key value pair --- src/mod_pascal.pas | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/mod_pascal.pas b/src/mod_pascal.pas index e124bfe..ce9bdbd 100644 --- a/src/mod_pascal.pas +++ b/src/mod_pascal.pas @@ -188,7 +188,7 @@ TPascalModuleCfg = record if headerMarkerPos = 0 then begin - //no header found + //no header section is found exit; end; @@ -197,18 +197,21 @@ TPascalModuleCfg = record for i:= 0 to Length(headers) - 1 do begin keyval := headers[i].split(':'); - key := trim(keyval[0]); - val := trim(keyval[1]); - if sameText(key, 'Status') then + if (length(keyval) = 2) then begin - result := strtoInt(val); - end else - if sameText(key, 'Content-Type') then - begin - ap_set_content_type(req, pchar(val)); - end else - begin - apr_table_setn(req^.headers_out, pchar(key), pchar(val)); + key := trim(keyval[0]); + val := trim(keyval[1]); + if sameText(key, 'Status') then + begin + result := strtoInt(val); + end else + if sameText(key, 'Content-Type') then + begin + ap_set_content_type(req, pchar(val)); + end else + begin + apr_table_setn(req^.headers_out, pchar(key), pchar(val)); + end; end; end; //remove header part