summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandrey <andrey@php.net>2012-06-29 16:58:53 +0300
committerandrey <andrey@php.net>2012-06-29 16:58:53 +0300
commitc51fbbe4b4e2c047d1be76d8bffc6391203adbdd (patch)
tree108b6eb068063482ab0f071a8fe8c15799a29eb4
parent2abf2738f4f5b271b6a2dff3bcb767ac292c40f7 (diff)
downloadphp-git-c51fbbe4b4e2c047d1be76d8bffc6391203adbdd.tar.gz
merge
-rw-r--r--ext/mysqlnd/mysqlnd.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ext/mysqlnd/mysqlnd.c b/ext/mysqlnd/mysqlnd.c
index cc3a3917a1..417ff5ef2b 100644
--- a/ext/mysqlnd/mysqlnd.c
+++ b/ext/mysqlnd/mysqlnd.c
@@ -789,6 +789,13 @@ MYSQLND_METHOD(mysqlnd_conn_data, connect_handshake)(MYSQLND_CONN_DATA * conn,
conn->server_version = mnd_pestrdup(greet_packet->server_version, conn->persistent);
conn->greet_charset = mysqlnd_find_charset_nr(greet_packet->charset_no);
+ if (!conn->greet_charset) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING,
+ "Server sent charset (%d) unknown to the client. Please, report to the developers", greet_packet->charset_no);
+ SET_CLIENT_ERROR(*conn->error_info, CR_NOT_IMPLEMENTED, UNKNOWN_SQLSTATE,
+ "Server sent charset unknown to the client. Please, report to the developers");
+ goto err;
+ }
if (FAIL == mysqlnd_connect_run_authentication(conn, user, passwd, db, db_len, (size_t) passwd_len,
greet_packet, conn->options, mysql_flags TSRMLS_CC))