Skip to content
Commit 125b1406 authored by Michael Osipov's avatar Michael Osipov Committed by Chris Lamb
Browse files

Revert to using zipinfo(1) directly instead of piping input via /dev/stdin for...


Revert to using zipinfo(1) directly instead of piping input via /dev/stdin for BSD portability. (Closes: #97)

I have noticed that 25fee28c [via #879011] uses a non-portable approach by
utilizing the /dev/stdin symlink. zipinfo exits with 9. I have described the
problem with /dev/stdin in detail here, and about its non-portability.  The
upshot is:

 * /dev/stdin is not POSIX
 * It may not behave the way you expect
 * unzip explicitly does not support pipe or character devices:

    Archives read from standard input are not yet supported, except with
    funzip (and then only the first member of the archive can be
    extracted).

When you read the source code you'll see that stat(2) output is not
checked for regular file and it queries the stat struct for st_size is
is 0 for streams like pipes or character devices.

It maybe some special feature of Linux/glibc to replace the stat
information of /dev/stdin of the file read, but that is, IMHO, highly
questionable.

Signed-off-by: Chris Lamb's avatarChris Lamb <lamby@debian.org>
parent f2170274
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment