in reply to How do you get IO::Uncompress::Gunzip to error if the input file isn't a GZ file?

You could use file(1) magic to check if a file is indeed a compressed file before trying to uncompress. For Perl there are File::MMagic and File::LibMagic among other modules to check file MIME type.

  • Comment on Re: How do you get IO::Uncompress::Gunzip to error if the input file isn't a GZ file?

Replies are listed 'Best First'.
Re^2: How do you get IO::Uncompress::Gunzip to error if the input file isn't a GZ file?
by afoken (Chancellor) on Jun 20, 2020 at 14:20 UTC
    You could use file(1) magic to check if a file is indeed a compressed file before trying to uncompress.

    ... but you should remember that this creates a TOCTTOU vulnerability. Also, magic checks check only for magic numbers, not for validity.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)