From 27e279f761c940dc44038ffc00cfc9ff2b51251f Mon Sep 17 00:00:00 2001 From: Jonatan Schroeder Date: Thu, 24 Jun 2021 19:10:19 -0700 Subject: [PATCH] Change sanitize function to properly handle null values (#4417) * Change sanitize function to properly handle null values * Update test --- prairielib/lib/util.js | 4 +++- prairielib/lib/util.test.js | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/prairielib/lib/util.js b/prairielib/lib/util.js index 9fd74180f30..77066f3d1e6 100644 --- a/prairielib/lib/util.js +++ b/prairielib/lib/util.js @@ -6,7 +6,9 @@ * @return {Object} The sanitized object. */ module.exports.sanitizeObject = function sanitizeObject(value) { - if (Array.isArray(value)) { + if (value === null) { + return null; + } else if (Array.isArray(value)) { return value.map(sanitizeObject); } else if (typeof value === 'string') { return value.replace('\u0000', '\\u0000'); diff --git a/prairielib/lib/util.test.js b/prairielib/lib/util.test.js index a330f7bc0d4..b662a4bd10c 100644 --- a/prairielib/lib/util.test.js +++ b/prairielib/lib/util.test.js @@ -69,4 +69,16 @@ describe('sanitizeObject', () => { }; check(input, expected); }); + + test('handles null values correctly', () => { + const input = { + test: 'test\u0000ing', + a: null, + }; + const expected = { + test: 'test\\u0000ing', + a: null, + }; + check(input, expected); + }); });