Fix large integer string used in filters (#8149)

* Fix large integer string used in filters

* Added number check to allow objects to be parsed

* Added missing typeof

* Changed to use Number.isSafeInteger

* clean

Co-authored-by: Jose Varela <joselcvarela@gmail.com>
This commit is contained in:
ian
2021-09-20 23:56:41 +08:00
committed by GitHub
parent af1aa2b1fc
commit c90a6b6541

View File

@@ -98,7 +98,11 @@ function sanitizeFilter(rawFilter: any, accountability: Accountability | null) {
filters = deepMap(filters, (val) => {
try {
return JSON.parse(val);
const parsed = JSON.parse(val);
if (typeof parsed == 'number' && !Number.isSafeInteger(parsed)) return val;
return parsed;
} catch {
return val;
}