Thread: pgsql: Fix crash in json_to_record().

pgsql: Fix crash in json_to_record().

From
Jeff Davis
Date:
Fix crash in json_to_record().

json_to_record() depends on get_call_result_type() for the tuple
descriptor of the record that should be returned, but in some cases
that cannot be determined. Add a guard to check if the tuple
descriptor has been properly resolved, similar to other callers of
get_call_result_type().

Also add guard for two other callers of get_call_result_type() in
jsonfuncs.c. Although json_to_record() is the only actual bug, it's a
good idea to follow convention.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/486ea0b19e08c10ff53e36e46209a928df048281

Modified Files
--------------
src/backend/utils/adt/jsonfuncs.c |   20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)


Re: pgsql: Fix crash in json_to_record().

From
Stephen Frost
Date:
* Jeff Davis (jdavis@postgresql.org) wrote:
> Fix crash in json_to_record().
>
> json_to_record() depends on get_call_result_type() for the tuple
> descriptor of the record that should be returned, but in some cases
> that cannot be determined. Add a guard to check if the tuple
> descriptor has been properly resolved, similar to other callers of
> get_call_result_type().
>
> Also add guard for two other callers of get_call_result_type() in
> jsonfuncs.c. Although json_to_record() is the only actual bug, it's a
> good idea to follow convention.

Ah, awesome, thanks.  I had it in my notes to go check that as Coverity
had complained about it and now I don't have to.  Thanks again!

    Stephen

Attachment