diff options
author | Dmitry Stogov <dmitry@zend.com> | 2015-04-08 17:06:03 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2015-04-08 17:06:03 +0300 |
commit | 151b4ea3cd6f4b6b431284daf8a90c51765f22fa (patch) | |
tree | 3234c3a90a4118b04620e14d4582c3cd556f7386 /ext/pgsql/pgsql.c | |
parent | b71fbade32e6821d30db2dc14644527a033f2cd3 (diff) | |
download | php-git-151b4ea3cd6f4b6b431284daf8a90c51765f22fa.tar.gz |
Fixed unsigned underflow
Diffstat (limited to 'ext/pgsql/pgsql.c')
-rw-r--r-- | ext/pgsql/pgsql.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 9beb72890f..536c94157a 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; } |