Pantek Library
Hosting Provided By
CybrHost
High Speed Hosting

PHP mysqlnd svn commit: r527 - trunk/mysqlnd

From: <ahristov(at)mysql.com>
Date: Wed Jun 27 2007 - 09:38:22 EDT


Author: ahristov
Date: 2007-06-27 15:38:21 +0200 (Wed, 27 Jun 2007) New Revision: 527

Modified:

   trunk/mysqlnd/mysqlnd.h
   trunk/mysqlnd/mysqlnd_charset.c
Log:
Fix a hang in set_charset test

Modified: trunk/mysqlnd/mysqlnd.h


  • trunk/mysqlnd/mysqlnd.h 2007-06-27 13:30:29 UTC (rev 526) +++ trunk/mysqlnd/mysqlnd.h 2007-06-27 13:38:21 UTC (rev 527)
    @@ -23,7 +23,7 @@
    #ifndef MYSQLND_H #define MYSQLND_H
-#define MYSQLND_VERSION "mysqlnd 5.0.2-dev - 070615 - $Revision$"
+#define MYSQLND_VERSION "mysqlnd 5.0.2-dev - 070702 - $Revision$"
 #define MYSQLND_VERSION_ID 50002
 
 

Modified: trunk/mysqlnd/mysqlnd_charset.c


  • trunk/mysqlnd/mysqlnd_charset.c 2007-06-27 13:30:29 UTC (rev 526) +++ trunk/mysqlnd/mysqlnd_charset.c 2007-06-27 13:38:21 UTC (rev 527)
    @@ -469,7 +469,7 @@

 /* {{{ mysqlnd_cset_escape_quotes */
-ulong mysqlnd_cset_escape_quotes(const MYSQLND_CHARSET * const charset, char *newstr, const char *escapestr, int escapestr_len) +ulong mysqlnd_cset_escape_quotes(const MYSQLND_CHARSET * const cset, char *newstr, const char *escapestr, int escapestr_len)  {

 	const char 	*newstr_s = newstr;
 	const char 	*newstr_e = newstr + 2 * escapestr_len;

@@ -477,9 +477,11 @@
zend_bool escape_overflow = FALSE; for (;escapestr < end; escapestr++) { + uint len = 0; /* check unicode characters */ - if (charset->char_maxlen > 1 && charset->mb_charlen(*escapestr) > 1) { - uint len = charset->mb_valid(escapestr, end); + + if (cset->char_maxlen > 1 && cset->mb_charlen(*escapestr) > 1 && + (len = cset->mb_valid(escapestr, end))) { /* check possible overflow */ if ((newstr + len) > newstr_e) {

@@ -528,10 +530,11 @@
         
 	for (;escapestr < end; escapestr++) {
 		char	esc = '\0';
+		uint len = 0;
 
 		/* check unicode characters */
-		if (cset->char_maxlen > 1 && cset->mb_charlen(*escapestr) > 1) {
-			uint len = cset->mb_valid(escapestr, end);
+		if (cset->char_maxlen > 1 && cset->mb_charlen(*escapestr) > 1 &&
+			(len = cset->mb_valid(escapestr, end))) {
 
 			/* check possible overflow */
 			if ((newstr + len) > newstr_e) {
-- 
MySQL Code Commits Mailing List
For list archives: 
http://lists.mysql.com/commits
To unsubscribe:    
http://lists.mysql.com/commits?unsub=lists@pantek.com
Received on Wed Jun 27 09:38:29 2007

This archive was generated by hypermail 2.1.8 : Wed Jun 27 2007 - 09:40:02 EDT


Contact Us  Legal Notices  Order Services Online 
Pantek Home  Privacy Policy  IT news  Site Map  Pantek Library