]> 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:34:50 +0000 (16:34 -0800)
ext/standard/ftp_fopen_wrapper.c

index ed93345bacd03c8844c0b03dda54db2efabb418d..01522bc7a9ad32a6c2354c9038b709bc4858301f 100644 (file)
@@ -635,11 +635,10 @@ static size_t php_ftp_dirstream_read(php_stream *stream, char *buf, size_t count
        zend_string_release(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';
+                       (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);