[HACKERS] byteain for new hex escaped data

2009-11-18 Thread Kris Jurka


Looking at how byteain detects whether the input it is passed is the new 
hex format escape or the old octal escape, it uses:


char   *inputText = PG_GETARG_CSTRING(0);
if (inputText[0] == '\\'  inputText[1] == 'x')

Doesn't this read off the end of inputText in the case of SELECT 
''::bytea, or is there some padding happening somewhere that makes this 
legal?


Kris Jurka


--
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] byteain for new hex escaped data

2009-11-18 Thread Peter Eisentraut
On ons, 2009-11-18 at 06:46 -0500, Kris Jurka wrote:
 Looking at how byteain detects whether the input it is passed is the new 
 hex format escape or the old octal escape, it uses:
 
  char   *inputText = PG_GETARG_CSTRING(0);
  if (inputText[0] == '\\'  inputText[1] == 'x')
 
 Doesn't this read off the end of inputText in the case of SELECT 
 ''::bytea, or is there some padding happening somewhere that makes this 
 legal?

In case of ''::bytea, the inputText is  as a C string, and so
inputText[0] == '\0' and the second test is not executed.


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