Bug #74674 [Fbk->NoF]: Problem of extracting an archive with symbolic links

From: Date: Sun, 26 Sep 2021 04:22:14 +0000
Subject: Bug #74674 [Fbk->NoF]: Problem of extracting an archive with symbolic links
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-236840@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=74674&edit=1

 ID:               74674
 Updated by:       php-bugs@lists.php.net
 Reported by:      gwenael dot pellen at arkeup dot com
 Summary:          Problem of extracting an archive with symbolic links
-Status:           Feedback
+Status:           No Feedback
 Type:             Bug
 Package:          PHAR related
 Operating System: Linux Ubuntu 16.04 LTS
 PHP Version:      7.1.5
 Assigned To:      cmb
 Private report:   N

 New Comment:

No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Re-Opened". Thank you.


Previous Comments:
------------------------------------------------------------------------
[2021-09-16 21:17:36] cmb@php.net

I cannot reproduce this with PHP-7.4 (neither on Debian nor
Windows).  Is this still an issue for you with any of the actively
supported PHP versions[1]?

[1] <https://www.php.net/supported-versions.php>

------------------------------------------------------------------------
[2017-05-30 14:34:34] gwenael dot pellen at arkeup dot com

Description:
------------
$ php -v
PHP 7.1.5-1+deb.sury.org~xenial+2 (cli) (built: May 22 2017 12:48:42) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.1.5-1+deb.sury.org~xenial+2, Copyright (c) 1999-2017, by Zend Technologies

Create my data

$ mkdir /tmp/php-bug/ && cd /tmp/php-bug/
$ mkdir -p source1/dir1
$ mkdir -p source1/dir2
$ mkdir source2
$ ln -s ../source1/dir1 source2/dir1
$ ln -s ../source1/dir2 source2/dir2

Create TAR archive

$ tar cvf source2.tar source2/
source2/
source2/dir1
source2/dir2

Show TAR archive

$ tar tvf source2.tar
drwxr-xr-x root/root         0 2017-05-30 14:00 source2/
lrwxrwxrwx root/root         0 2017-05-30 14:00 source2/dir1 -> ../source1/dir1
lrwxrwxrwx root/root         0 2017-05-30 14:00 source2/dir2 -> ../source1/dir2

Create PHP script to extract this archive.

$ cat > extract.php <<EOT
<?php
    \$path = getcwd();
    echo \$path, "\n";
    \$phar = new PharData('source2.tar');
    \$phar->extractTo(\$path,null,true);
EOT

Launch PHP script

$ php extract.php
/tmp/php-bug
PHP Warning:  PharData::extractTo(/tmp/php-bug/source2/dir1): failed to open stream: Is a directory
in /tmp/php-bug/extract.php on line 5
PHP Fatal error:  Uncaught PharException: Extraction from phar "/tmp/php-bug/source2.tar"
failed: Cannot extract "source2/dir1", could not open for writing
"/tmp/php-bug/source2/dir1" in /tmp/php-bug/extract.php:5
Stack trace:
#0 /tmp/php-bug/extract.php(5): PharData->extractTo('/tmp/php-bug', NULL, true)
#1 {main}
  thrown in /tmp/php-bug/extract.php on line 5

Test script:
---------------
<?php
    $path = getcwd();
    echo $path, "\n";
    $phar = new PharData('source2.tar');
    $phar->extractTo(\$path,null,true);

Expected result:
----------------
$ php extract.php
$

Actual result:
--------------
$ php extract.php
/tmp/php-bug
PHP Warning:  PharData::extractTo(/tmp/php-bug/source2/dir1): failed to open stream: Is a directory
in /tmp/php-bug/extract.php on line 5
PHP Fatal error:  Uncaught PharException: Extraction from phar "/tmp/php-bug/source2.tar"
failed: Cannot extract "source2/dir1", could not open for writing
"/tmp/php-bug/source2/dir1" in /tmp/php-bug/extract.php:5
Stack trace:
#0 /tmp/php-bug/extract.php(5): PharData->extractTo('/tmp/php-bug', NULL, true)
#1 {main}
  thrown in /tmp/php-bug/extract.php on line 5


------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=74674&edit=1


Thread (3 messages)

« previous php.bugs (#236840) next »