Ticket #3993 (closed defect: fixed)

Opened 5 years ago

Last modified 5 years ago

iso9660 does not report listing errors

Reported by: slyfox Owned by: andrew_b
Priority: major Milestone: 4.8.24
Component: mc-vfs Version: 4.8.22
Keywords: Cc:
Blocked By: Blocking:
Branch state: approved Votes for changeset: committed-master

Description

This bug is a few variations of https://bugs.gentoo.org/533214.
I believe they all stem from the same underlying cause: iso9660 does not report listing errors.

Variation 1:

Steps to reproduce:

  • create empty .iso file (touch foo.iso)
  • run 'mc' and press enter on empty .iso

Expected result: some error about invalid file format (sililar to what F3 view would yield)
Actual result: mc elters a file as if it would be empty valid file

Variation 2:
Steps to reproduce:

  • pick valid .iso file
  • deinstall all helper tools that handle .sio (isoinfo, xorriso, etc.)
  • run 'mc' and press enter on empty .iso

Expected result: some error about invalid file format (sililar to what F3 view would yield)
Actual result: mc enters a file as if it would be empty valid file

Variation 2 is especially confusing for users as it does not hint them that they should install a tool to get it working. They just observe silently broken behaviour.

$ LANG=C mc --version
GNU Midnight Commander 4.8.22
Built with GLib 2.58.3
Using the S-Lang library with terminfo database
With builtin Editor
With subshell support as default
With support for background operations
With mouse support on xterm and Linux console
With support for X11 events
With internationalization support
With multiple codepages support
Virtual File Systems: cpiofs, tarfs, sfs, extfs, ext2undelfs, ftpfs, sftpfs, fish, smbfs
Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64;

Change History

comment:1 Changed 5 years ago by andrew_b

  • src/vfs/extfs/helpers/iso9660.in

    diff --git a/src/vfs/extfs/helpers/iso9660.in b/src/vfs/extfs/helpers/iso9660.in
    index 8c2240e8e..85716ba48 100644
    a b mcisofs_list () { 
    133133      *)     MYCAT="cat";; 
    134134    esac 
    135135 
    136     $ISOINFO -l -i "$1" 2>/dev/null | @AWK@ -v SEMICOLON=$SEMICOLON ' 
     136    $ISOINFO -l -i "$1" | @AWK@ -v SEMICOLON=$SEMICOLON ' 
    137137BEGIN { 
    138138  dir=""; 
    139139  # Pattern to match 8 first fields. 

comment:2 Changed 5 years ago by andrew_b

  • Owner set to andrew_b
  • Status changed from new to accepted
  • Component changed from mc-core to mc-vfs
  • Branch state changed from no branch to on review
  • Milestone changed from Future Releases to 4.8.24

Branch: 3993_iso9660_error_report
Initial changeset:1ea6788c12b8f9a1151972d354bfc90c73e4b6e3

comment:3 Changed 5 years ago by andrew_b

  • Votes for changeset set to andrew_b
  • Branch state changed from on review to approved

comment:4 Changed 5 years ago by andrew_b

  • Status changed from accepted to testing
  • Votes for changeset changed from andrew_b to committed-master
  • Resolution set to fixed

Merged to master: [27fe8f39a3e79965f3f16029ec7a25a4840d645d].

git log --pretty=oneline 3a1f3d7ff..27fe8f39a

comment:5 Changed 5 years ago by andrew_b

  • Status changed from testing to closed
Note: See TracTickets for help on using tickets.