diff options
author | Yasuo Ohgaki <yohgaki@php.net> | 2014-02-16 06:21:39 +0900 |
---|---|---|
committer | Yasuo Ohgaki <yohgaki@php.net> | 2014-02-16 06:21:39 +0900 |
commit | 9f251548ae4875aa7714e81c79668cc231d7de6c (patch) | |
tree | af5b3cc17a8131fa745ad2cb4f23477e43357d3e | |
parent | 9d84f6c06ec59e8fc23b715c08fba2eaf451868a (diff) | |
download | php-git-9f251548ae4875aa7714e81c79668cc231d7de6c.tar.gz |
Revise encoding blacklist
-rw-r--r-- | ext/pgsql/pgsql.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 270b7ba8f6..1f0d6302c3 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -794,18 +794,17 @@ static char* php_pgsql_PQescapeInternal(PGconn *conn, const char *str, size_t le char *encoding; /* This is compatible with PQescapeLiteral, but it cannot handle multbyte chars such as SJIS, BIG5. Raise warning and return NULL by checking - client_encoding. XXX: Black list could be wrong. False positive. */ + client_encoding. */ encoding = (char *) pg_encoding_to_char(PQclientEncoding(conn)); if (!strncmp(encoding, "SJIS", sizeof("SJIS")-1) || !strncmp(encoding, "SHIFT_JIS_2004", sizeof("SHIFT_JIS_2004")-1) || - !strncmp(encoding, "WIN874", sizeof("WIN874")-1) || - !strncmp(encoding, "WIN1258", sizeof("WIN1258")-1) || !strncmp(encoding, "BIG5", sizeof("BIG5")-1) || + !strncmp(encoding, "GB18030", sizeof("GB18030")-1) || !strncmp(encoding, "GBK", sizeof("GBK")-1) || !strncmp(encoding, "JOHAB", sizeof("JOHAB")-1) || !strncmp(encoding, "UHC", sizeof("UHC")-1) ) { TSRMLS_FETCH(); - + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unsafe encoding is used. Do not use '%s' encoding or use PostgreSQL 9.0 or later libpq.", encoding); } /* check backslashes */ |