dmitry          Mon Apr 25 02:14:50 2005 EDT

  Modified files:              (Branch: PHP_4_3)
    /Zend       zend_hash.c 
    /php-src/ext/standard       array.c 
  Log:
  Fixed call to estrndup() with invalid length
  
  
http://cvs.php.net/diff.php/Zend/zend_hash.c?r1=1.87.4.6&r2=1.87.4.7&ty=u
Index: Zend/zend_hash.c
diff -u Zend/zend_hash.c:1.87.4.6 Zend/zend_hash.c:1.87.4.7
--- Zend/zend_hash.c:1.87.4.6   Mon Jul 12 17:26:46 2004
+++ Zend/zend_hash.c    Mon Apr 25 02:14:50 2005
@@ -1066,7 +1066,7 @@
        if (p) {
                if (p->nKeyLength) {
                        if (duplicate) {
-                               *str_index = estrndup(p->arKey, p->nKeyLength);
+                               *str_index = estrndup(p->arKey, 
p->nKeyLength-1);
                        } else {
                                *str_index = p->arKey;
                        }
http://cvs.php.net/diff.php/php-src/ext/standard/array.c?r1=1.199.2.43&r2=1.199.2.44&ty=u
Index: php-src/ext/standard/array.c
diff -u php-src/ext/standard/array.c:1.199.2.43 
php-src/ext/standard/array.c:1.199.2.44
--- php-src/ext/standard/array.c:1.199.2.43     Thu Mar 31 03:18:40 2005
+++ php-src/ext/standard/array.c        Mon Apr 25 02:14:50 2005
@@ -22,7 +22,7 @@
 */
 
 
-/* $Id: array.c,v 1.199.2.43 2005/03/31 08:18:40 sniper Exp $ */
+/* $Id: array.c,v 1.199.2.44 2005/04/25 06:14:50 dmitry Exp $ */
 
 #include "php.h"
 #include "php_ini.h"
@@ -640,7 +640,7 @@
        s = *((Bucket **) b);
 
        if (f->nKeyLength) {
-               Z_STRVAL(key1) = estrndup(f->arKey, f->nKeyLength);
+               Z_STRVAL(key1) = estrndup(f->arKey, f->nKeyLength-1);
                Z_STRLEN(key1) = f->nKeyLength-1;
                Z_TYPE(key1) = IS_STRING;
        } else {
@@ -648,7 +648,7 @@
                Z_TYPE(key1) = IS_LONG;
        }
        if (s->nKeyLength) {
-               Z_STRVAL(key2) = estrndup(s->arKey, s->nKeyLength);
+               Z_STRVAL(key2) = estrndup(s->arKey, s->nKeyLength-1);
                Z_STRLEN(key2) = s->nKeyLength-1;
                Z_TYPE(key2) = IS_STRING;
        } else {
@@ -2492,7 +2492,7 @@
                                
zend_hash_index_update(Z_ARRVAL_P(return_value), num_key, entry, sizeof(entry), 
NULL);
                                break;
                        case HASH_KEY_IS_STRING:
-                               new_key=estrndup(string_key,str_key_len);
+                               new_key=estrndup(string_key,str_key_len - 1);
                                if (change_to_upper)
                                        php_strtoupper(new_key, str_key_len - 
1);
                                else

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

Reply via email to