[Senna-dev 220] UDFでのsnippetが特定のkeywordでsegvする

Back to archive index

Kazuhiro Osawa ko****@yappo*****
2006年 3月 22日 (水) 22:12:50 JST


大沢です。


特定のkeywordでsnippetが落ちました。
snippetを行うデータに依存せず、再現性があるので再現方法を報告します。
sennaのリビジョンは100です。

$ cat snippet.pl
$bad =  pack('CC', (82-64), 0xb3);
print "select snippet('hoge',  25, 3, 'ujis', 0, '', '', '$bad', '<font color=red>', '</font>')";

$ perl ./snippet.pl | mysql -u user -p tablename



一応、落ちたときのバックトレースを付けておきます。

(gdb) bt
#0  0x00a367a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x00a7a7d5 in raise () from /lib/tls/libc.so.6
#2  0x00a7c149 in abort () from /lib/tls/libc.so.6
#3  0x00aae40a in __libc_message () from /lib/tls/libc.so.6
#4  0x00ab4b3f in _int_free () from /lib/tls/libc.so.6
#5  0x00ab4eba in free () from /lib/tls/libc.so.6
#6  0x00ed2b79 in sen_free (ptr=0xad63a4b8, file=0xf497ee "snip.c", line=90) at str.c:162
#7  0x00f2a028 in sen_bm_preBmGs (x=0xad682310 "", m=-1385978696, bmGs=0xad64cd38) at snip.c:90
#8  0x00f2a6d5 in sen_snip_add_cond (snip=0xad6224d0, keyword=0xad69bf28 "\022晦, opentag=0xad69bf2b "<font color=red>", closetag=0xad69bf3c "</font>") at snip.c:314
#9  0x0038fc87 in snippet_init () from libmysql_udf_snippet.so
#10 0x080ca13e in udf_handler::fix_fields ()
#11 0x080d28c5 in Item_udf_func::fix_fields ()
#12 0x08133440 in setup_fields ()
#13 0x0814603e in mysql_select ()
#14 0x08149120 in handle_select ()
#15 0x08122039 in mysql_execute_command ()
#16 0x0812244c in mysql_parse ()
#17 0x081230f5 in dispatch_command ()
#18 0x08123e7f in handle_one_connection ()
#19 0x00c9a341 in start_thread () from /lib/tls/libpthread.so.0
#20 0x00b1a6fe in clone () from /lib/tls/libc.so.6

---
osawa



Senna-dev メーリングリストの案内
Back to archive index