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