Re: [HACKERS] thinko in convertToJsonb()

2014-12-10 Thread Tom Lane
Michael Paquier michael.paqu...@gmail.com writes:
 On Tue, Dec 9, 2014 at 11:11 AM, Mark Dilger m...@port25.com wrote:
 Perhaps the code really meant to say:
 reserveFromBuffer(buffer, VARHDRSZ)

 Good catch! The code is indeed incorrect. Attached is a one-line patch
 addressing that, I guess someone is going to pick up that sooner or
 later.

Pushed, thanks!

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] thinko in convertToJsonb()

2014-12-09 Thread Mark Dilger
The call:

reserveFromBuffer(buffer, sizeof(VARHDRSZ))

is assuming that the size of varlena header is the same
size as the type used to return that size, which happens
to be so, but someone could easily change that macro
to:

#define VARHDRSZ ((int64) sizeof(int32))

And you'd want to reserve sizeof(int32), not sizeof(int64)
in convertToJsonb.

Perhaps the code really meant to say:

reserveFromBuffer(buffer, VARHDRSZ)


mark


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] thinko in convertToJsonb()

2014-12-09 Thread Michael Paquier
On Tue, Dec 9, 2014 at 11:11 AM, Mark Dilger m...@port25.com wrote:
 The call:

 reserveFromBuffer(buffer, sizeof(VARHDRSZ))

 is assuming that the size of varlena header is the same
 size as the type used to return that size, which happens
 to be so, but someone could easily change that macro
 to:

 #define VARHDRSZ ((int64) sizeof(int32))

 And you'd want to reserve sizeof(int32), not sizeof(int64)
 in convertToJsonb.

 Perhaps the code really meant to say:

 reserveFromBuffer(buffer, VARHDRSZ)

Good catch! The code is indeed incorrect. Attached is a one-line patch
addressing that, I guess someone is going to pick up that sooner or
later.
-- 
Michael


20141210_jsonb_varlena_header.patch
Description: Binary data

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers