[Flac-dev] Bug in FLAC++ Stream::set_metadata()
John W. Terrell
john-flacdev at coolpeople.us
Sat Dec 23 22:52:04 PST 2006
I've found what looks like a bug in FLAC++ inside the Stream::set_metadata() method. It appears that the contained calls to FLAC__stream_encoder_set_metadata() are being passed arguments that point to local stack data (specifically the 'm' parameter which is a table that points to metadata objects). The code inside FLAC__stream_encoder_set_metadata() does nothing but store the given args ('m' and 'num_blocks'). When Stream::set_metadata() exits, those stack objects go out of scope (or alternatively in the MSVC case, they're explicitly deleted). Later inside the encoder's init() function, those destroyed data members are accessed and causes a fault.
I'm new to the mailing list so if this is a known issue, forgive me.
-John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/flac-dev/attachments/20061223/34da76fd/attachment.html
More information about the Flac-dev
mailing list