Skip to content

parseWithPointers(): An StackOverflow error occurs when the deeply nested JSON character string is parsed. #131

@PoppingSnack

Description

@PoppingSnack

parseWithPointers() does not support deeply nested JSON strings.

import { parseWithPointers} from '@stoplight/json'
let json = `{ "a": { "a": ... 1 ... } }`; //  Nesting depth: 9000
parseWithPointers(json);

error log:

    at m (oh_modules/.ohpm/@stoplight+json@3.21.0/oh_modules/@stoplight/json/index.es.js:1:8199)
    at onObjectBegin (oh_modules/.ohpm/@stoplight+json@3.21.0/oh_modules/@stoplight/json/index.es.js:1:8369)
    at anonymous (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:359:53)
    at parseObject (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:492:9)
    at parseValue (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:560:24)
    at parseProperty (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:482:18)
    at parseObject (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:509:18)
    at parseValue (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:560:24)
    at parseProperty (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:482:18)
    at parseObject (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:509:18)
    at parseValue (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:560:24)
    at parseProperty (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:482:18)
    at parseObject (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:509:18)
    at parseValue (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:560:24)
    at parseProperty (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:482:18)
    at parseObject (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:509:18)
    at parseValue (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:560:24)
    at parseProperty (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:482:18)
    at parseObject (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:509:18)
    at parseValue (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:560:24)
    at parseProperty (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:482:18)
    at parseObject (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:509:18)
    at parseValue (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:560:24)
    at parseProperty (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:482:18)
    at parseObject (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:509:18)
    at parseValue (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:560:24)
    at parseProperty (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:482:18)
    at parseObject (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:509:18)
    at parseValue (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:560:24)
    at parseProperty (oh_modules/.ohpm/jsonc-parser@2.2.1/oh_modules/jsonc-parser/lib/esm/impl/parser.js:482:18)
    ......

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions