It's probably a bug in the gcc optimizer. Try reducing the optimization level of the compiler for zdeflate.cpp.
On Wed, Jul 09, 2003 at 10:12:05AM -0700, Michael Hunley wrote: > I am using Crypto++ 5.1 on Linux Redhat 8.0 under gcc 3.2.2. I have a very > recent cut of Crypto++ from cvs. I know from previous posts that some bugs > got fixed in the zdeflate code (some new and some rolled in from fixes in > 4.1). However, I am still getting an error (and throw) in the release > build. The debug version works fine, as do both versions under WinXP > compiled using MSVC6 sp 5 with processor pack. > > I am using it to package up a signed, compress copy of a file to be > downloaded from the internet. > > The error: > zdeflate.cpp line 458: void CryptoPP::Deflator::ProcessBuffer(): Assertion > 'm_stringStart <(m_blockStart+m_blockLength) <= 1' > > Usage: > std::string outPath; > ... // outpath set to the destination file > ZlibCompressor outFile(new FileSink(outPath.c_str(),true)); > ...// sbbCipherText filled with encrypted file data, throw if no > data > outFile.PutMessageEnd(sbbCipherText.begin(),sbbCipherText.size()); > // crash somewhere during this put > > Is this a known issue? Has anyone else had similar problems? What info > would help track it down? > > Michael Hunley > Senior Engineer > PocketPurchase, Inc.
