From 7db6b82a1a876a91cd0d95fbfb795e6c2b033d7f Mon Sep 17 00:00:00 2001 From: Shaun Walker Date: Wed, 15 Feb 2023 15:21:50 -0500 Subject: [PATCH] add defensive logic to querystring parser to handle duplicate parameters --- Oqtane.Client/UI/SiteRouter.razor | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Oqtane.Client/UI/SiteRouter.razor b/Oqtane.Client/UI/SiteRouter.razor index 1c1998ad..5545758b 100644 --- a/Oqtane.Client/UI/SiteRouter.razor +++ b/Oqtane.Client/UI/SiteRouter.razor @@ -306,11 +306,17 @@ if (kvp.Contains("=")) { string[] pair = kvp.Split('='); - querystring.Add(pair[0], pair[1]); + if (!querystring.ContainsKey(pair[0])) + { + querystring.Add(pair[0], pair[1]); + } } else { - querystring.Add(kvp, "true"); // default parameter when no value is provided + if (!querystring.ContainsKey(kvp)) + { + querystring.Add(kvp, "true"); // default parameter when no value is provided + } } } }