pollita         Tue Sep  9 17:15:21 2003 EDT

  Modified files:              (Branch: PHP_4_3)
    /php-src/ext/ftp    ftp.c 
  Log:
  MFH(r-1.91) Fix Bug #25294 LIST/NLST can cause segfault because ftp->data not 
cleaned properly
  
Index: php-src/ext/ftp/ftp.c
diff -u php-src/ext/ftp/ftp.c:1.68.2.9 php-src/ext/ftp/ftp.c:1.68.2.10
--- php-src/ext/ftp/ftp.c:1.68.2.9      Sun Aug 31 17:09:14 2003
+++ php-src/ext/ftp/ftp.c       Tue Sep  9 17:15:20 2003
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: ftp.c,v 1.68.2.9 2003/08/31 21:09:14 iliaa Exp $ */
+/* $Id: ftp.c,v 1.68.2.10 2003/09/09 21:15:20 pollita Exp $ */
 
 #include "php.h"
 
@@ -421,9 +421,10 @@
 {
        if (ftp == NULL)
                return 0;
-       if (ftp->pwd)
+       if (ftp->pwd) {
                efree(ftp->pwd);
-       ftp->pwd = NULL;
+               ftp->pwd = NULL;
+       }
 
        if (!ftp_putcmd(ftp, "CWD", dir))
                return 0;
@@ -442,9 +443,10 @@
        if (ftp == NULL)
                return 0;
 
-       if (ftp->pwd)
+       if (ftp->pwd) {
                efree(ftp->pwd);
-       ftp->pwd = NULL;
+               ftp->pwd = NULL;
+       }
 
        if (!ftp_putcmd(ftp, "CDUP", NULL))
                return 0;
@@ -1535,8 +1537,7 @@
 
        return ret;
 bail:
-       if (data)
-               ftp->data = data_close(ftp, data);
+       ftp->data = data_close(ftp, data);
        fclose(tmpfp);
        if (ret)
                efree(ret);

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

Reply via email to