Skip to content

Commit c678483

Browse files
committed
* "chmod +x" when extracting archived executable files
1 parent 1dbb879 commit c678483

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

pear/Archive/Tar.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1367,8 +1367,11 @@ function _extractList($p_path, &$p_list_detail, $p_mode, $p_file_list, $p_remove
13671367

13681368
// ----- Change the file mode, mtime
13691369
@touch($v_header['filename'], $v_header['mtime']);
1370-
// To be completed
1371-
//chmod($v_header[filename], DecOct($v_header[mode]));
1370+
if ($v_header['mode'] & 0111) {
1371+
// make file executable, obey umask
1372+
$mode = fileperms($v_header['filename']) | (~umask() & 0111);
1373+
@chmod($v_header['filename'], $mode);
1374+
}
13721375
}
13731376

13741377
// ----- Check the file size

0 commit comments

Comments
 (0)