From 661c418e0dafc10ae887fa567281a029664e5635 Mon Sep 17 00:00:00 2001 From: Matt Kantor Date: Sat, 4 Apr 2020 12:50:31 -0700 Subject: [PATCH 1/5] Add test cases for bare number literals, including hex. --- test/parse.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/test/parse.js b/test/parse.js index 3f4bf10f..59fbdd15 100644 --- a/test/parse.js +++ b/test/parse.js @@ -178,6 +178,30 @@ t.test('parse(text)', t => { 'parses signed NaN' ) + t.strictSame( + JSON5.parse('1'), + 1, + 'parses 1' + ) + + t.strictSame( + JSON5.parse('+1.23e100'), + 1.23e100, + 'parses +1.23e100' + ) + + t.strictSame( + JSON5.parse('0x1'), + 0x1, + 'parses bare hexadecimal number' + ) + + t.strictSame( + JSON5.parse('-0x0123456789abcdefABCDEF'), + -0x0123456789abcdefABCDEF, + 'parses bare long hexadecimal number' + ) + t.end() }) From f1d3c8a5697ab9ed1ae3c604308e301093f8ca7e Mon Sep 17 00:00:00 2001 From: Matt Kantor Date: Sat, 4 Apr 2020 13:16:10 -0700 Subject: [PATCH 2/5] Fix OOM when parsing bare hex number. Fixes #228. --- lib/util.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/util.js b/lib/util.js index 3b5e4664..40bfe2fa 100644 --- a/lib/util.js +++ b/lib/util.js @@ -2,11 +2,11 @@ const unicode = require('../lib/unicode') module.exports = { isSpaceSeparator (c) { - return unicode.Space_Separator.test(c) + return typeof c === 'string' && unicode.Space_Separator.test(c) }, isIdStartChar (c) { - return ( + return typeof c === 'string' && ( (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c === '$') || (c === '_') || @@ -15,7 +15,7 @@ module.exports = { }, isIdContinueChar (c) { - return ( + return typeof c === 'string' && ( (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || @@ -26,10 +26,10 @@ module.exports = { }, isDigit (c) { - return /[0-9]/.test(c) + return typeof c === 'string' && /[0-9]/.test(c) }, isHexDigit (c) { - return /[0-9A-Fa-f]/.test(c) + return typeof c === 'string' && /[0-9A-Fa-f]/.test(c) }, } From 7399345d8015df8b058fc12562af5304d7357f67 Mon Sep 17 00:00:00 2001 From: Jordan Tucker Date: Sat, 4 Apr 2020 17:55:54 -0500 Subject: [PATCH 3/5] Add missing CHANGELOG for v2.1.2 --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 25d2d8eb..86919716 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +### v2.1.2 [[code][c2.1.2], [diff][d2.1.2]] + +[c2.1.2]: https://github.com/json5/json5/tree/v2.1.2 +[d2.1.2]: https://github.com/json5/json5/compare/v2.1.1...v2.1.2 + +- Fix: Bump `minimist` to `v1.2.5`. ([#222]) + ### v2.1.1 [[code][c2.1.1], [diff][d2.1.1]] [c2.1.1]: https://github.com/json5/json5/tree/v2.1.1 From fde38af37788b02a53be45e375b57e75712ed55c Mon Sep 17 00:00:00 2001 From: Jordan Tucker Date: Sat, 4 Apr 2020 17:56:30 -0500 Subject: [PATCH 4/5] Update CHANGELOG for v2.1.3 --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 86919716..5e6d09c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +### v2.1.3 [[code][c2.1.3], [diff][d2.1.3]] + +[c2.1.3]: https://github.com/json5/json5/tree/v2.1.3 +[d2.1.3]: https://github.com/json5/json5/compare/v2.1.2...v2.1.3 + +- Fix: An out of memory bug when parsing numbers has been fixed. ([#228], + [#229]) + ### v2.1.2 [[code][c2.1.2], [diff][d2.1.2]] [c2.1.2]: https://github.com/json5/json5/tree/v2.1.2 From 32bb2cdae4864b2ac80a6d9b4045efc4cc54f47a Mon Sep 17 00:00:00 2001 From: Jordan Tucker Date: Sat, 4 Apr 2020 17:57:08 -0500 Subject: [PATCH 5/5] 2.1.3 --- package-lock.json | 2 +- package.json | 2 +- package.json5 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 33a5863d..92d5e881 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "json5", - "version": "2.1.2", + "version": "2.1.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ddbf6fb7..9c5b82ea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "json5", - "version": "2.1.2", + "version": "2.1.3", "description": "JSON for humans.", "main": "lib/index.js", "module": "dist/index.mjs", diff --git a/package.json5 b/package.json5 index 8b0ec297..f3fc10bd 100644 --- a/package.json5 +++ b/package.json5 @@ -1,7 +1,7 @@ // This is a generated file. Do not edit. { name: 'json5', - version: '2.1.2', + version: '2.1.3', description: 'JSON for humans.', main: 'lib/index.js', module: 'dist/index.mjs',