From e5a15dceece061a38bb4c26c40bb2402dd0caf2c Mon Sep 17 00:00:00 2001 From: duffn <3457341+duffn@users.noreply.github.com> Date: Tue, 21 Oct 2025 16:24:41 -0600 Subject: [PATCH] Check for VSB errors earlier in function --- src/vmod_querymodifier.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/vmod_querymodifier.c b/src/vmod_querymodifier.c index a398729..1c3b7c0 100644 --- a/src/vmod_querymodifier.c +++ b/src/vmod_querymodifier.c @@ -170,6 +170,11 @@ static char *rebuild_query_string(VRT_CTX, const char *uri_base, } VSB_cat(vsb, uri_base); + if (VSB_error(vsb)) { + VRT_fail(ctx, "VSB overflow while appending base URI"); + VSB_destroy(&vsb); + return NULL; + } for (size_t i = 0; i < param_count; i++) { query_param_t *current = ¶ms[i]; @@ -181,6 +186,13 @@ static char *rebuild_query_string(VRT_CTX, const char *uri_base, // Parameter with no value VSB_printf(vsb, "%c%s", sep, current->name); } + + if (VSB_error(vsb)) { + VRT_fail(ctx, "VSB overflow while building query string"); + VSB_destroy(&vsb); + return NULL; + } + sep = '&'; } }