From d51a267071a8ccd8ffd99911a72343d586ef3dca Mon Sep 17 00:00:00 2001 From: Maddipatla Chatan Date: Thu, 17 Sep 2026 06:31:55 +0530 Subject: [PATCH] Prevent mutation of whitelisted array during sorting Ensure whitelisted array is not mutated by sorting directly. --- documentation-site/components/overrides.jsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/documentation-site/components/overrides.jsx b/documentation-site/components/overrides.jsx index 8020477821..c7144bf876 100644 --- a/documentation-site/components/overrides.jsx +++ b/documentation-site/components/overrides.jsx @@ -14,7 +14,12 @@ import { trackEvent } from "../helpers/ga"; const isStyledExport = (exportName) => exportName.startsWith("Styled"); const getOverrideName = (exportName) => exportName.replace("Styled", ""); const getOverrides = (component, blacklisted, whitelisted) => { - if (whitelisted) return whitelisted.sort(); + // Copy before sorting: Array.prototype.sort() mutates in place, and + // `whitelisted` is a prop passed in by the caller (which may be a + // shared/reused array reference, e.g. a module-level constant). Sorting + // it directly would silently reorder the caller's own array as a side + // effect. + if (whitelisted) return [...whitelisted].sort(); return component ? Object.keys(component) .filter(isStyledExport)