I just noticed some unexpected behavior from byteain:
test=# select '\\009'::bytea;
?column?
----------
\011
(1 row)
test=# select '\\444'::bytea;
?column?
----------
$
(1 row)
test=# select '\\999'::bytea;
?column?
----------
\221
(1 row)
The reason is the following code in byteain:
else if (!isdigit((unsigned char) *tp++) ||
!isdigit((unsigned char) *tp++) ||
!isdigit((unsigned char) *tp++))
elog(ERROR, "Bad input string for type bytea");
It checks for a '\' followed by three digits, but does not attempt to
enforce that the three digits actually produce a valid octal number. Anyone
object to me fixing this?
-- Joe
Responses
pgsql-hackers by date
| Next: | From: Marc G. Fournier | Date: 2001-09-07 03:32:12 |
| Subject: pgsql/src/backend/utils/mb encnames.c win1251. ... |
| Previous: | From: Tom Lane | Date: 2001-09-07 02:40:42 |
| Subject: Re: FTI contrib |