postgres.git / summary / log / commit / refs

commit    49b60a4be7cb8bbfb9d954cc5b81d0dc18b077df
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Thu Dec 11 00:06:27 2014 +0000
First released in: 9.5.0, 9.4.0

    Fix minor thinko in convertToJsonb().
    
    The amount of space to reserve for the value's varlena header is
    VARHDRSZ, not sizeof(VARHDRSZ).  The latter coding accidentally
    failed to fail because of the way the VARHDRSZ macro is currently
    defined; but if we ever change it to return size_t (as one might
    reasonably expect it to do), convertToJsonb() would have failed.
    
    Spotted by Mark Dilger.


src/backend/utils/adt/jsonb_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/utils/adt/jsonb_util.c b/src/backend/utils/adt/jsonb_util.c index 2ff85396d01..c62941baa7b 100644 --- a/src/backend/utils/adt/jsonb_util.c +++ b/src/backend/utils/adt/jsonb_util.c @@ -1377,7 +1377,7 @@ convertToJsonb(JsonbValue *val) initStringInfo(&buffer); /* Make room for the varlena header */ - reserveFromBuffer(&buffer, sizeof(VARHDRSZ)); + reserveFromBuffer(&buffer, VARHDRSZ); convertJsonbValue(&buffer, &jentry, val, 0); [parent: eadd80c08ddf]