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