1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

Ensure only letters, numbers and spaces can be entered in settings search input (#14226)

This commit is contained in:
Dan J Miller 2022-03-28 12:33:41 -02:30 committed by GitHub
parent 74ef9edd54
commit b7ea820a82
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -31,24 +31,26 @@ export default function SettingsSearch({
}); });
// eslint-disable-next-line no-shadow // eslint-disable-next-line no-shadow
const handleSearch = (searchQuery) => { const handleSearch = (_searchQuery) => {
setSearchQuery(searchQuery); const sanitizedSearchQuery = _searchQuery.replace(/[^A-z0-9\s]|[\\]/gu, '');
if (searchQuery === '') { setSearchQuery(sanitizedSearchQuery);
if (sanitizedSearchQuery === '') {
setSearchIconColor('var(--color-icon-muted)'); setSearchIconColor('var(--color-icon-muted)');
} else { } else {
setSearchIconColor('var(--color-icon-default)'); setSearchIconColor('var(--color-icon-default)');
} }
const fuseSearchResult = settingsSearchFuse.search(searchQuery);
const fuseSearchResult = settingsSearchFuse.search(sanitizedSearchQuery);
const addressSearchResult = settingsRoutesListArray.filter((routes) => { const addressSearchResult = settingsRoutesListArray.filter((routes) => {
return ( return (
routes.tab && routes.tab &&
searchQuery && sanitizedSearchQuery &&
isEqualCaseInsensitive(routes.tab, searchQuery) isEqualCaseInsensitive(routes.tab, sanitizedSearchQuery)
); );
}); });
const results = [...addressSearchResult, ...fuseSearchResult]; const results = [...addressSearchResult, ...fuseSearchResult];
onSearch({ searchQuery, results }); onSearch({ searchQuery: sanitizedSearchQuery, results });
}; };
const renderStartAdornment = () => { const renderStartAdornment = () => {