endless loop when loading from buffer

I hope, I found the correct forum to put this...

if I try to load the attached image from a buffer (it is a broken webp image that has the RIFF signature):

int error = iProcessor.open_buffer((void*) ba.constData(), ba.size());

libraw (0.16.0) is stuck in an endless loop. the call stack is:

libraw.dll!LibRaw::sget4(unsigned char * s) Line 94 C++
libraw.dll!LibRaw::get4() Line 107 C++
libraw.dll!LibRaw::parse_riff() Line 6519 C++
libraw.dll!LibRaw::parse_riff() Line 6524 C++
libraw.dll!LibRaw::identify() Line 7953 C++
libraw.dll!LibRaw::open_datastream(LibRaw_abstract_datastream * stream) Line 974 C++
libraw.dll!LibRaw::open_buffer(void * buffer, unsigned __int64 size) Line 873 C++

thanks for any comments/help on this

Image icon broken.png20 bytes


Thanks. To be fixed in 0.16

Thanks. To be fixed in 0.16-stable and master branches.

-- Alex Tutubalin @LibRaw LLC