pgsql: Fix broken allocation logic in recently-rewritten jsonb_util.c. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Fix broken allocation logic in recently-rewritten jsonb_util.c.
Date
Msg-id E1WitDM-0007gT-Cq@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix broken allocation logic in recently-rewritten jsonb_util.c.

reserveFromBuffer() failed to consider the possibility that it needs to
more-than-double the current buffer size.  Beyond that, it seems likely
that we'd someday need to worry about integer overflow of the buffer
length variable.  Rather than reinvent the logic that's already been
debugged in stringinfo.c, let's go back to using that logic.  We can
still have the same targeted API, but we'll rely on stringinfo.c to
manage reallocation.

Per report from Alexander Korotkov.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/3d8c2b496fc1fed2b8ff8a403d3a17329325466e

Modified Files
--------------
src/backend/utils/adt/jsonb_util.c |   78 ++++++++++++++++--------------------
1 file changed, 35 insertions(+), 43 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Improve user-facing JSON documentation.
Next
From: Tom Lane
Date:
Subject: pgsql: Fix bogus documentation of json_object_agg().