Commit:    8fe87e7feaab2c031998d553585ba8cabf077499
Author:    andrey <and...@php.net>         Fri, 29 Jun 2012 14:42:36 +0300
Parents:   1ac611f24f03728e4d9cd717e83331e2e17184d2
Branches:  PHP-5.3 PHP-5.4

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=8fe87e7feaab2c031998d553585ba8cabf077499

Log:
fix Bug #62273  Segmentation Fault in Mysqli/Mysqlnd

Bugs:
https://bugs.php.net/62273

Changed paths:
  M  ext/mysqlnd/mysqlnd.c


Diff:
diff --git a/ext/mysqlnd/mysqlnd.c b/ext/mysqlnd/mysqlnd.c
index cc2dd06..b539c51 100644
--- a/ext/mysqlnd/mysqlnd.c
+++ b/ext/mysqlnd/mysqlnd.c
@@ -680,6 +680,13 @@ MYSQLND_METHOD(mysqlnd_conn, connect)(MYSQLND * 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;
+       }
        /* we allow load data local infile by default */
        mysql_flags |= CLIENT_LOCAL_FILES | CLIENT_PS_MULTI_RESULTS;
        mysql_flags |= MYSQLND_CAPABILITIES;


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to