Re: ASCII Null control character validation - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: ASCII Null control character validation
Date
Msg-id c4633f8d-2e3a-c38f-71c0-db49c65a8d2f@2ndquadrant.com
Whole thread Raw
In response to ASCII Null control character validation  (Alexey Chernyshov <a.chernyshov@postgrespro.ru>)
List pgsql-hackers
On 11/30/17 03:13, Alexey Chernyshov wrote:
> I found in src/backend/utils/mb/wchar.c: pg_verify_mbstr_len() that it
> reports ASCII Null character (\000) as invalid. As for me, it should
> pass validation. However, ASCII Null character breaks a line and the
> end of the line is missed, try:
> 
> INSERT INTO mytable VALUES (E'a\001b\000c and rest of line MIA');
> 
> Find patch attached. Am I wrong?

The main reason why you can't usefully have null characters in a string
literal is that the type input functions take a cstring as input, so no
string with a null character can possibly be input to a type.

So removing that check would just cause failure or confusion later.

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: [HACKERS] postgres_fdw bug in 9.6
Next
From: Arthur Zakirov
Date:
Subject: Re: [HACKERS] Bug in to_timestamp().