Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

UIC PNMDecoder weirdness

levicki
Valued Contributor I
229 Views
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?
0 Kudos
3 Replies
levicki
Valued Contributor I
229 Views
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:
[cpp]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; }[/cpp] 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.
0 Kudos
Sergey_K_Intel
Employee
229 Views
Hi Igor,
Thank you for notification! Fixed.
Regards,
Sergey
0 Kudos
levicki
Valued Contributor I
229 Views
Hi Sergey,

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