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
const handleSearch = (searchQuery) => {
setSearchQuery(searchQuery);
if (searchQuery === '') {
const handleSearch = (_searchQuery) => {
const sanitizedSearchQuery = _searchQuery.replace(/[^A-z0-9\s]|[\\]/gu, '');
setSearchQuery(sanitizedSearchQuery);
if (sanitizedSearchQuery === '') {
setSearchIconColor('var(--color-icon-muted)');
} else {
setSearchIconColor('var(--color-icon-default)');
}
const fuseSearchResult = settingsSearchFuse.search(searchQuery);
const fuseSearchResult = settingsSearchFuse.search(sanitizedSearchQuery);
const addressSearchResult = settingsRoutesListArray.filter((routes) => {
return (
routes.tab &&
searchQuery &&
isEqualCaseInsensitive(routes.tab, searchQuery)
sanitizedSearchQuery &&
isEqualCaseInsensitive(routes.tab, sanitizedSearchQuery)
);
});
const results = [...addressSearchResult, ...fuseSearchResult];
onSearch({ searchQuery, results });
onSearch({ searchQuery: sanitizedSearchQuery, results });
};
const renderStartAdornment = () => {