UIC PNMDecoder weirdness

UIC PNMDecoder weirdness

With JPEG and PNG decoder I do the following:

buffer.Open(Stream, StreamLength);
decoder.Init();
decoder.AttachStream(buffer);
decoder.ReadHeader(colorSpec, geometry);

And for cleanup:

decoder.DetachStream();
decoder.Close();
buffer.Close();

With PNM decoder if I call decoder.Close() heap gets corrupted and the application just disappears (stack overflow). Why is that?

Regards,
Igor Levicki
4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Since nobody from Intel IPP team wanted to help, I have just confirmed on my own that there is a bug in UIC version 7.0.7.064 and below:

PNMDecoder::~PNMDecoder()

{

    Close();

}
ExcStatus PNMDecoder::Init()

{

    if(m_decoder) return ExcStatusOk;
    m_decoder = new OwnPNMDecoder;

    if (!m_decoder) return ExcStatusFail;
    return ExcStatusOk;

}
ExcStatus PNMDecoder::Close()

{

    if (!m_decoder) return ExcStatusFail;
    delete m_decoder;
    // MISSING STATEMENT HERE:

    // m_decoder = 0
    return ExcStatusOk;

}
This bug is affecting PNM, DDS, JP2, and JPEG2000 encoder and decoder.

I have submitted an issue for it here:
https://premier.intel.com/premier/IssueDetail.aspx?IssueID=672885

Have a nice day.

Regards,
Igor Levicki

Hi Igor,Thank you for notification! Fixed.Regards,Sergey

Regards,
Sergey

Hi Sergey,

When will the fixed UIC binaries and sample code be available for download?

Regards,
Igor Levicki

Leave a Comment

Please sign in to add a comment. Not a member? Join today