From: Fabian Keil <fk@fabiankeil.de>
Date: Tue, 14 Apr 2020 12:15:56 +0000 (+0200)
Subject: sed_https(): Update the last https header after running sed()
X-Git-Tag: v_3_0_29~429
X-Git-Url: http://www.privoxy.org/gitweb/faq/static/@default-cgi@send-stylesheet?a=commitdiff_plain;h=cdb3594a33022ba59e21b75eebcfcfd39dccdf0f;p=privoxy.git

sed_https(): Update the last https header after running sed()

This is necessary because addtional header may have been added.

Fixes a crash triggered by an assertion.

Reported by:  Nedžad Hrnjica
Sponsored by: Robert Klemme
---

diff --git a/parsers.c b/parsers.c
index 45b4c3bf..70f368f1 100644
--- a/parsers.c
+++ b/parsers.c
@@ -1231,6 +1231,12 @@ jb_err sed_https(struct client_state *csp)
    err = sed(csp, FILTER_CLIENT_HEADERS);
    csp->flags |= CSP_FLAG_CLIENT_HEADER_PARSING_DONE;
 
+   /*
+    * Update the last header which may have changed
+    * due to header additions,
+    */
+   csp->https_headers->last = csp->headers->last;
+
    csp->headers->first = headers.first;
    csp->headers->last  = headers.last;