[master] 13fe897fa varnishncsa: Reduce CTX.gen overflow likelihood

Dridi Boukelmoune dridi.boukelmoune at gmail.com
Wed Mar 20 11:13:08 UTC 2024


commit 13fe897fa582661fe075af21aff0e53b3770fcfe
Author: Walid Boudebouda <walid.boudebouda at gmail.com>
Date:   Fri Mar 15 09:39:32 2024 +0100

    varnishncsa: Reduce CTX.gen overflow likelihood
    
    If a format never matches anything, the 4294967296th transaction
    proccessed by varnishncsa will wrap its generation around to zero,
    be considered a match, and let vsb_fcat() pass a null string to
    VSB_quote().

diff --git a/bin/varnishncsa/varnishncsa.c b/bin/varnishncsa/varnishncsa.c
index 8789adbe7..94af83748 100644
--- a/bin/varnishncsa/varnishncsa.c
+++ b/bin/varnishncsa/varnishncsa.c
@@ -93,7 +93,7 @@ enum e_frag {
 };
 
 struct fragment {
-	unsigned		gen;
+	uint64_t		gen;
 	const char		*b, *e;
 };
 
@@ -144,7 +144,7 @@ static struct ctx {
 
 	FILE			*fo;
 	struct vsb		*vsb;
-	unsigned		gen;
+	uint64_t		gen;
 	VTAILQ_HEAD(,format)	format;
 	int			quote_how;
 	char			*missing_string;


More information about the varnish-commit mailing list