Only adjust negative indexes in json_get up to the length of the path.

Andrew Dunstan <andrew@dunslane.net>

Commit: 40a50a17b905dae233ddb8bb36b7deff9e3abb16
Author: Andrew Dunstan <andrew@dunslane.net>
Date: 2015-07-28T21:59:13Z
Releases: 9.5.0
Only adjust negative indexes in json_get up to the length of the path.

The previous code resulted in memory access beyond the path bounds. The
cure is to move it into a code branch that checks the value of lex_level
is within the correct bounds.

Bug reported and diagnosed by Piotr Stefaniak.

Files

PathChange+/−
src/backend/utils/adt/jsonfuncs.c modified +13 −13