com php-src: Fixed unsigned underflow: ext/pgsql/pgsql.c

From: Date: Wed, 08 Apr 2015 14:06:03 +0000
Subject: com php-src: Fixed unsigned underflow: ext/pgsql/pgsql.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-86131@lists.php.net to get a copy of this message
Commit: 151b4ea3cd6f4b6b431284daf8a90c51765f22fa Author: Dmitry Stogov <dmitry@zend.com> Wed, 8 Apr 2015 17:06:03 +0300 Parents: b71fbade32e6821d30db2dc14644527a033f2cd3 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=151b4ea3cd6f4b6b431284daf8a90c51765f22fa Log: Fixed unsigned underflow Changed paths: M ext/pgsql/pgsql.c Diff: diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 9beb728..536c941 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -882,15 +882,14 @@ static char *php_pgsql_PQescapeInternal(PGconn *conn, const char *str, size_t le /* {{{ _php_pgsql_trim_message */ static char * _php_pgsql_trim_message(const char *message, size_t *len) { - register size_t i = strlen(message)-1; + register size_t i = strlen(message); - if (i>1 && (message[i-1] == '\r' || message[i-1] == '\n') && message[i] == '.') { + if (i>2 && (message[i-2] == '\r' || message[i-2] == '\n') && message[i-1] == '.') { --i; } - while (i>0 && (message[i] == '\r' || message[i] == '\n')) { + while (i>1 && (message[i-1] == '\r' || message[i-1] == '\n')) { --i; } - ++i; if (len) { *len = i; }

« previous php.cvs (#86131) next »