Attached cab file produces arithmetic exception due to division by zero in NCompress::NQuantum::NRangeCoder::CDecoder::Decode function, ../../Compress/QuantumDecoder.h:110, in line
UInt32 high = Low + end * Range / total - 1;
due to "total" is 0.
The standalone 7z application on linux somehow manages to recover after that, however when using the 7z library from another application it lead to a crash.
Apparently this case of "total" being 0 should be checked somewhere earlier in order to prevent such division.
Log in to post a comment.