<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16386" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>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.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I'm new to the mailing list so if this is a known
issue, forgive me.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>-John</FONT></DIV></FONT></DIV></BODY></HTML>