iliaa Mon Dec 4 00:39:47 2006 UTC Modified files: /php-src/ext/pdo pdo_sql_parser.c pdo_sql_parser.re Log: MFB: Fixed bug #39483 (Problem with handling of \ char in prepared statements). http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_sql_parser.c?r1=1.45&r2=1.46&diff_format=u Index: php-src/ext/pdo/pdo_sql_parser.c diff -u php-src/ext/pdo/pdo_sql_parser.c:1.45 php-src/ext/pdo/pdo_sql_parser.c:1.46 --- php-src/ext/pdo/pdo_sql_parser.c:1.45 Sun Dec 3 23:28:00 2006 +++ php-src/ext/pdo/pdo_sql_parser.c Mon Dec 4 00:39:47 2006 @@ -1,4 +1,4 @@ -/* Generated by re2c 0.10.6 on Sun Dec 3 18:28:10 2006 */ +/* Generated by re2c 0.10.6 on Sun Dec 3 19:39:21 2006 */ #line 1 "ext/pdo/pdo_sql_parser.re" /* +----------------------------------------------------------------------+ @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdo_sql_parser.c,v 1.45 2006/12/03 23:28:00 iliaa Exp $ */ +/* $Id: pdo_sql_parser.c,v 1.46 2006/12/04 00:39:47 iliaa Exp $ */ #include "php.h" #include "php_pdo_driver.h" @@ -232,8 +232,8 @@ ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych == '\'') goto yy23; - goto yy25; + if(yych <= 0x00) goto yy25; + goto yy23; yy27: yych = *++YYCURSOR; goto yy22; @@ -274,8 +274,8 @@ ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych == '"') goto yy32; - goto yy25; + if(yych <= 0x00) goto yy25; + goto yy32; yy35: ++YYCURSOR; yych = *YYCURSOR; http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_sql_parser.re?r1=1.35&r2=1.36&diff_format=u Index: php-src/ext/pdo/pdo_sql_parser.re diff -u php-src/ext/pdo/pdo_sql_parser.re:1.35 php-src/ext/pdo/pdo_sql_parser.re:1.36 --- php-src/ext/pdo/pdo_sql_parser.re:1.35 Sun Dec 3 23:28:00 2006 +++ php-src/ext/pdo/pdo_sql_parser.re Mon Dec 4 00:39:47 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdo_sql_parser.re,v 1.35 2006/12/03 23:28:00 iliaa Exp $ */ +/* $Id: pdo_sql_parser.re,v 1.36 2006/12/04 00:39:47 iliaa Exp $ */ #include "php.h" #include "php_pdo_driver.h" @@ -55,8 +55,8 @@ */ /*!re2c - (["] (ESCQQ|ANYNOEOF\[\\"])* ["]) { RET(PDO_PARSER_TEXT); } - (['] (ESCQ|ANYNOEOF\[\\'])* [']) { RET(PDO_PARSER_TEXT); } + (["] (ESCQQ|[\\]ANYNOEOF|ANYNOEOF\[\\"])* ["]) { RET(PDO_PARSER_TEXT); } + (['] (ESCQ|[\\]ANYNOEOF|ANYNOEOF\[\\'])* [']) { RET(PDO_PARSER_TEXT); } SPECIALS{2,} { RET(PDO_PARSER_TEXT); } BINDCHR { RET(PDO_PARSER_BIND); } QUESTION { RET(PDO_PARSER_BIND_POS); }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php