dmitry          Thu Jul 17 14:05:08 2008 UTC

  Modified files:              (Branch: PHP_5_3)
    /php-src/ext/phar   phar.c 
  Log:
  Fixed search on uninitialized data
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/phar/phar.c?r1=1.370.2.33&r2=1.370.2.34&diff_format=u
Index: php-src/ext/phar/phar.c
diff -u php-src/ext/phar/phar.c:1.370.2.33 php-src/ext/phar/phar.c:1.370.2.34
--- php-src/ext/phar/phar.c:1.370.2.33  Thu Jul 17 13:22:32 2008
+++ php-src/ext/phar/phar.c     Thu Jul 17 14:05:07 2008
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: phar.c,v 1.370.2.33 2008/07/17 13:22:32 dmitry Exp $ */
+/* $Id: phar.c,v 1.370.2.34 2008/07/17 14:05:07 dmitry Exp $ */
 
 #define PHAR_MAIN 1
 #include "phar_internal.h"
@@ -1427,7 +1427,9 @@
        const char *c;
        int so_far = 0;
 
-       /* this assumes buf_len > search_len */
+       if (buf_len < search_len) {
+               return NULL;
+       }
        c = buf - 1;
        do {
                if (!(c = memchr(c + 1, search[0], buf_len - search_len - 
so_far))) {
@@ -1579,7 +1581,7 @@
                                }
                        }
                }
-               if ((pos = phar_strnstr(buffer, 1024 + sizeof(token), token, 
sizeof(token)-1)) != NULL) {
+               if (got > 0 && (pos = phar_strnstr(buffer, got + sizeof(token), 
token, sizeof(token)-1)) != NULL) {
                        halt_offset += (pos - buffer); /* no -tokenlen+tokenlen 
here */
                        return phar_parse_pharfile(fp, fname, fname_len, alias, 
alias_len, halt_offset, pphar, compression, error TSRMLS_CC);
                }
@@ -3412,7 +3414,7 @@
        php_info_print_table_header(2, "Phar: PHP Archive support", "enabled");
        php_info_print_table_row(2, "Phar EXT version", PHP_PHAR_VERSION);
        php_info_print_table_row(2, "Phar API version", PHP_PHAR_API_VERSION);
-       php_info_print_table_row(2, "CVS revision", "$Revision: 1.370.2.33 $");
+       php_info_print_table_row(2, "CVS revision", "$Revision: 1.370.2.34 $");
        php_info_print_table_row(2, "Phar-based phar archives", "enabled");
        php_info_print_table_row(2, "Tar-based phar archives", "enabled");
        php_info_print_table_row(2, "ZIP-based phar archives", "enabled");



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to