Use system rm in rm_rf function.

PHP can't properly handle symlinks which causes problems when
self-referencing symlinks appear.

This closes FS#11187.

Signed-off-by: Loui Chang <louipc.ist@gmail.com>
This commit is contained in:
Loui Chang 2008-09-12 20:19:42 -04:00
parent 99881b31db
commit 5c3f019093

View file

@ -374,19 +374,10 @@ function can_submit_pkg($name="", $sid="") {
# recursive delete directory
#
function rm_rf($dirname="") {
$d = dir($dirname);
while ($f = $d->read()) {
if ($f != "." && $f != "..") {
if (is_dir($dirname."/".$f)) {
rm_rf($dirname."/".$f);
}
if (is_file($dirname."/".$f) || is_link($dirname."/".$f)) {
unlink($dirname."/".$f);
}
}
if ($dirname != "") {
exec('rm -rf ' . escapeshellcmd($dirname));
}
$d->close();
rmdir($dirname);
return;
}