«前の日記(2006-09-20(水)) 最新 次の日記(2006-09-22(金))»

vdrめも

検索キーワード:
[PR]:「Chef活用ガイド コードではじめる構成管理 (大型本), (Kindle版)」発売中です。


2006-09-21(木) 使ってないところでクラッシュ [長年日記]

_ [comp] audacious の AdPlug でクラッシュ

audacious のプレイリストに曲を追加するとき、音楽ファイルでないものを追加すると

% audacious
*** glibc detected *** free(): invalid next size (fast): 0x0861db80 ***
zsh: abort (core dumped) audacious
%

のようにクラッシュすることがある。gdb で見てみると、

(gdb) bt
        :
4 0x408f7821 in raise () from /lib/tls/i686/cmov/libc.so.6
5 0x408f8fb9 in abort () from /lib/tls/i686/cmov/libc.so.6
6 0x4092cc4a in __fsetlocking () from /lib/tls/i686/cmov/libc.so.6
7 0x409344df in mallopt () from /lib/tls/i686/cmov/libc.so.6
8 0x40934582 in free () from /lib/tls/i686/cmov/libc.so.6
9 0x40882591 in operator delete () from /usr/lib/libstdc++.so.6
10 0x408825ed in operator delete[] () from /usr/lib/libstdc++.so.6
0000011 0x41bbb773 in CrolPlayer::load ()
   from /usr/lib/audacious/Input/libadplug.so
0000012 0x41b96aef in CAdPlug::factory ()
   from /usr/lib/audacious/Input/libadplug.so
0000013 0x41b92dab in get_iplugin_info ()
   from /usr/lib/audacious/Input/libadplug.so
0000014 0x41b93677 in get_iplugin_info ()
   from /usr/lib/audacious/Input/libadplug.so

どうも AdPlug が怪しい。CrolPlayer::load は src/adplug/core/rol.cxx にある。いろいろ printf とか仕掛けて追ってみると何のことはない、「standard.bnk」なる 12 文字を 9 しかないバッファに strcpy していた。バッファサイズを増やしてやると問題なくなった。パッチはこれ > vd_adplug-core-rol.cxx-bof-fix.patch

audaciousAdPlug 本家両方に報告した。


2006年
9月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

[amd64 | audacious | comp | debian | gkrelluim | kip | misc | movie | research | rime | unicon | vdr | work | えふえふ]

書いてる人: dai

パッチ等(無保証)

GPG Fingerprint = 0B29 D88E 42E6 B765 B8D8 EA50 7839 619D D439 668E