http://bugs.winehq.org/show_bug.cgi?id=31684
--- Comment #13 from Andrew Eikum aeikum@codeweavers.com 2012-09-18 08:04:39 CDT --- I don't think so... local_buffer is only assigned once. I think the more likely scenario is that some part of the code is overwriting the value of local_buffer itself, causing snd_pcm_readi() to read into some invalid chunk of memory, and eventually free that invalid chunk. You could try adding TRACEs near where local_buffer is used to see if/when its value changes.