==30995== 32 errors in context 6 of 6: ==30995== Source and destination overlap in memcpy(0x7719540, 0x7719540, 65536) ==30995== at 0x4A0825A: memcpy (mc_replace_strmem.c:402) ==30995== by 0x5A3017B: snd_pcm_area_copy (in /usr/lib64/libasound.so.2.0.0) ==30995== by 0x5A304F0: snd_pcm_areas_copy (in /usr/lib64/libasound.so.2.0.0) ==30995== by 0x5A6B23E: snd_pcm_softvol_write_areas (in /usr/lib64/libasound. ==30995== by 0x5A3B324: snd_pcm_plugin_mmap_commit (in /usr/lib64/libasound.s ==30995== by 0x5A3AFA7: snd_pcm_plugin_write_areas (in /usr/lib64/libasound.s ==30995== by 0x5A2DF51: snd1_pcm_write_areas (in /usr/lib64/libasound.so.2.0. ==30995== by 0x5A3B919: snd_pcm_plugin_writei (in /usr/lib64/libasound.so.2.0 ==30995== by 0x481C41: play (in /usr/local/bin/mplayer-20090429) ==30995== by 0x46C890: main (in /usr/local/bin/mplayer-20090429) --30995-- --- alsa-lib-1.0.19/src/pcm/pcm.c.bak 2009-01-19 13:17:18.000000000 +0200 +++ alsa-lib-1.0.19/src/pcm/pcm.c 2009-05-04 23:33:50.780199696 +0300 @@ -2670,7 +2670,7 @@ int snd_pcm_area_copy(const snd_pcm_chan dst_area->step == (unsigned int) width) { size_t bytes = samples * width / 8; samples -= bytes * 8 / width; - memcpy(dst, src, bytes); + memmove(dst, src, bytes); if (samples == 0) return 0; }