com php-src: Fixed unsigned underflow: ext/pgsql/pgsql.c
| From: | Dmitry Stogov | 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;
}