]> granicus.if.org Git - php/commitdiff
fix loop - size_t is unsigned so can not be negative
authorStanislav Malyshev <stas@php.net>
Wed, 5 Nov 2014 05:58:44 +0000 (21:58 -0800)
committerStanislav Malyshev <stas@php.net>
Wed, 12 Nov 2014 00:33:02 +0000 (16:33 -0800)
ext/standard/ftp_fopen_wrapper.c

index d6eb3b8fbccf497dab96c7f7c4b69fb2108fb132..ab75da713c70459f6309b175f8d1c4dd8d18afd6 100644 (file)
@@ -644,11 +644,10 @@ static size_t php_ftp_dirstream_read(php_stream *stream, char *buf, size_t count
        efree(basename);
 
        /* Trim off trailing whitespace characters */
-       tmp_len--;
-       while (tmp_len >= 0 &&
-                       (ent->d_name[tmp_len] == '\n' || ent->d_name[tmp_len] == '\r' ||
-                        ent->d_name[tmp_len] == '\t' || ent->d_name[tmp_len] == ' ')) {
-               ent->d_name[tmp_len--] = '\0';
+       while (tmp_len > 0 &&
+                       (ent->d_name[tmp_len - 1] == '\n' || ent->d_name[tmp_len - 1] == '\r' ||
+                        ent->d_name[tmp_len - 1] == '\t' || ent->d_name[tmp_len - 1] == ' ')) {
+               ent->d_name[--tmp_len] = '\0';
        }
 
        return sizeof(php_stream_dirent);