« Return to Thread: zip freezes - how to handle corrupt CRC in zip-file

Re: zip freezes - how to handle corrupt CRC in zip-file

by ecc :: Rate this Message:

Reply to Author | View in Thread

Ok, yesterday i´ve tried this... the command freezese. No chance to get an error from the archive. Am i stupid? The original zip tool give me an error on bad crc in a file, php quits with an freeze. I´ve tried also the crc error. No chance. The $zip->open always give me and TRUE as return value.

If i think, this is an bug, where can i add this?

Regards,
Andreas


Ah, fine. How do i use this ZIPARCHIVE::CHECKCONS flag?

Something like that should work, i think?

$zip = new ZipArchive;
$res = $zip->open ( $filename ZIPARCHIVE::CHECKCONS );
if (TRUE === $res) {
    # all looks fine
}
else {
    switch($res){
        case ZIPARCHIVE::ER_INCONS:
            # do some error handeling
        break;
    }
    # test these errors
    # ZIPARCHIVE::ER_EXISTS
    # ZIPARCHIVE::ER_INCONS
    # ZIPARCHIVE::ER_INVAL
    # ZIPARCHIVE::ER_MEMORY
    # ZIPARCHIVE::ER_NOENT
    # ZIPARCHIVE::ER_NOZIP
    #  ZIPARCHIVE::ER_OPEN
    # ZIPARCHIVE::ER_READ
    # ZIPARCHIVE::ER_SEEK
}

Richard Lynch wrote:
On Tue, August 14, 2007 5:42 am, ecc wrote:
> i´m reading zip-files with the php zip-functions without a problem.
> Now i
> got and Zip containing an corrupt crc (If i open this file via winzip,
> the
> error is shown).
>
> It looks like the php functions for zip-handeling "zip_entry_read" and
> "ZipArchive::getFrom..." do not quit on a bad crc checksum.... so
> these
> functions read in the file and than are in an infinite loop. Because i
> use
> PHP-GTK2 my tool feezes and the process has to be killed. On an
> web-enviroment this could also a big problem ..... ok, user-zip
> handeling on
> web is not the best idea :-)
>
> I´ve found no way to find out, if an file in the zip file is an valid
> or
> corrupt entry. The output of "ZipArchive::statName" give me no info
> about
> the state of an entry.
>
> Is there any trick out there, how to manage this problem. Maybe this
> is an
> bug or missing feature in the zip extensions. Dont know!

Perhaps checking the consistency with this ZIPARCHIVE::CHECKCONS flag
would help.

This is just a wild guess.

--
Some people have a "gift" link here.
Know what I want?
I want you to buy a CD from some indie artist.
http://cdbaby.com/browse/from/lynch
Yeah, I get a buck. So?

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

 « Return to Thread: zip freezes - how to handle corrupt CRC in zip-file