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])

Reply via email to