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 [EMAIL PROTECTED])
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to