Should be fixed. I noticed this myself. Should we require three digits?
> 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
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026