rasmus          Tue Apr  1 14:10:35 2003 EDT

  Modified files:              (Branch: PHP_4_3)
    /php4       TODO_SEGFAULTS 
    /php4/ext/dbase     dbf_head.c 
  Log:
  Argh!!!  I guess nobody has ever looked at this code.  
  
  
Index: php4/TODO_SEGFAULTS
diff -u php4/TODO_SEGFAULTS:1.1.2.6 php4/TODO_SEGFAULTS:1.1.2.7
--- php4/TODO_SEGFAULTS:1.1.2.6 Tue Apr  1 13:47:01 2003
+++ php4/TODO_SEGFAULTS Tue Apr  1 14:10:35 2003
@@ -7,13 +7,13 @@
     i18n_convert/mb_convert_encoding (Moriyoshi Koizumi)
     socket_iovec_alloc (Rasmus)
        exif_imagetype,exif_thumbnail (Rasmus)
+    dbase_open (Rasmus)
 
 
 Open:
 
     array_pad
     bcsub (1)
-    dbase_open
     mb_ereg (2)
     mb_ereg_match (2)
     mb_eregi (2)
Index: php4/ext/dbase/dbf_head.c
diff -u php4/ext/dbase/dbf_head.c:1.10.8.1 php4/ext/dbase/dbf_head.c:1.10.8.2
--- php4/ext/dbase/dbf_head.c:1.10.8.1  Fri Dec 13 11:54:49 2002
+++ php4/ext/dbase/dbf_head.c   Tue Apr  1 14:10:35 2003
@@ -247,9 +247,10 @@
 
        cp = dp;
        if ((fd = VCWD_OPEN(cp, o_flags|O_BINARY)) < 0) {
-               cp = (char *)malloc(256);
-               strcpy(cp, dp); strcat(cp, ".dbf");
+               cp = (char *)malloc(MAXPATHLEN);  /* So where does this get free()'d?  
-RL */
+               strncpy(cp, dp, MAXPATHLEN-5); strcat(cp, ".dbf");
                if ((fd = VCWD_OPEN(cp, o_flags)) < 0) {
+                       free(cp);
                        perror("open");
                        return NULL;
                }



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

Reply via email to