]> granicus.if.org Git - php/commitdiff
MFphp5
authorHartmut Holzgraefe <hholzgra@php.net>
Wed, 26 Feb 2003 17:38:03 +0000 (17:38 +0000)
committerHartmut Holzgraefe <hholzgra@php.net>
Wed, 26 Feb 2003 17:38:03 +0000 (17:38 +0000)
ext/yp/yp.c

index 80ba55a82a786003ee2871b8b8286b2f3599741e..1edf2772365b97a9e1b275e89f7caef79ab93086 100644 (file)
@@ -291,8 +291,17 @@ static int php_foreach_cat (int instatus, char *inkey, int inkeylen, char *inval
 
        if (!err)
        {
-               if (inkeylen)
-                       add_assoc_stringl_ex((zval *) indata,inkey,inkeylen,inval,invallen,1);
+               if (inkeylen) {
+                       char *key = emalloc(inkeylen+1);
+                       if(key) {
+                               strncpy(key, inkey, inkeylen);
+                               key[inkeylen] = '\0';
+                               add_assoc_stringl_ex((zval *) indata, key, inkeylen+1, inval, invallen, 1);
+                               efree(key);
+                       } else {
+                               php_error(E_WARNING, "Can't allocate %d bytes for key buffer in yp_cat()");
+                       }
+               }
 
                return 0;
        }