xiehuc / pidgin-lwqq

a pidgin plugin based on lwqq, a excellent safe useful library for webqq protocol
GNU General Public License v3.0
660 stars 185 forks source link

加入新群时群名被free导致segfault #372

Closed felixonmars closed 11 years ago

felixonmars commented 11 years ago
[02:10:53 PM]{"retcode":0,"result":[{"poll_type":"sys_g_msg","value":{"msg_id":21994,"from_uin":1644424350,"to_uin":411927578,"msg_id2":449187,"msg_type":33,"reply_ip":176498276,"type":"group_join","gcode":3438187541,"t_gcode":331922958,"op_type":3,"new_member":411927578,"t_new_member":"felixonmars@gmail.com","admin_uin":111037943,"admin_nick":"创建者"}}]}

[New Thread 0x7fff92f36700 (LWP 24210)]
[Thread 0x7fff92f36700 (LWP 24210) exited]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff47f4907 in __stpcpy_sse2_unaligned () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff47f4907 in __stpcpy_sse2_unaligned () from /usr/lib/libc.so.6
#1  0x00007fffdee7bb98 in qq_set_group_name (cg=0x60a0a10) at /home/felix/pidgin-lwqq-git/src/pidgin-lwqq/src/webqq.c:622
#2  0x00007fffdee7bdc2 in group_come (lc=lc@entry=0xce5af0, group=0x7fff880f0de0) at /home/felix/pidgin-lwqq-git/src/pidgin-lwqq/src/webqq.c:676
#3  0x00007fffdee7c2c8 in sys_g_message (lc=lc@entry=0xce5af0, msg=msg@entry=0x7fff88178ab0) at /home/felix/pidgin-lwqq-git/src/pidgin-lwqq/src/webqq.c:804
#4  0x00007fffdee819b3 in qq_msg_check (lc=<optimized out>) at /home/felix/pidgin-lwqq-git/src/pidgin-lwqq/src/webqq.c:1251
#5  0x00007fffdee9d5c9 in vp_do (cmd=..., retval=retval@entry=0x0) at /home/felix/pidgin-lwqq-git/src/pidgin-lwqq/liblwqq/lib/vplist.c:33
#6  0x00007fffdee84fc3 in did_dispatch (param=0x7b07e50) at /home/felix/pidgin-lwqq-git/src/pidgin-lwqq/src/qq_types.c:71
#7  0x00007ffff50738f3 in ?? () from /usr/lib/libglib-2.0.so.0
#8  0x00007ffff5072d96 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#9  0x00007ffff50730e8 in ?? () from /usr/lib/libglib-2.0.so.0
#10 0x00007ffff50734ea in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#11 0x00007ffff6d6cf97 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#12 0x0000000000431aaf in main ()
(gdb) f 1
#1  0x00007fffdee7bb98 in qq_set_group_name (cg=0x60a0a10) at /home/felix/pidgin-lwqq-git/src/pidgin-lwqq/src/webqq.c:622
622         strcat(gname,cg->group->markname?:cg->group->name);
(gdb) p cg->group
$1 = (LwqqGroup *) 0x7fff880f0de0
(gdb) p *cg->group
$2 = {type = LWQQ_GROUP_QUN, name = 0x0, {gid = 0x7fff8813a260 "1644424350", did = 0x7fff8813a260 "1644424350"}, {account = 0x7fff8803de80 "331922958",
    qq = 0x7fff8803de80 "331922958"}, code = 0x7fff8803dea0 "3438187541", markname = 0x0, face = 0x0, memo = 0x0, class = 0x0, fingermemo = 0x0,
  createtime = 0, level = 0x0, owner = 0x0, flag = 0x0, option = 0x0, mask = LWQQ_MASK_NONE, group_sig = 0x0, last_modify = 0, avatar = 0x0,
  avatar_len = 0, data = 0x60a0a10, entries = {le_next = 0x1ba14a0, le_prev = 0xce5ba0}, members = {lh_first = 0x0}, ev_queue = {lh_first = 0x0}}
(gdb)
xiehuc commented 11 years ago

dev may fix