很偶然地,赶紧试。直接下载了后,在Pidgin里加入飞信账号,登录,BIANG!Pidgin不客气地crash了。
晕。不过确实是希望能统一一下自己的IM客户端,看见了希望总不能放弃。于是下了看起来。
相比起
设置Pidgin的编译环境所费的老大劲儿,定位这个问题实在是轻松得不值一提。原因在文件f_login.c里,程序试图通过查找HTTP头的Content-Length字段来获取报文长度,可非常不幸的是,飞信server端返回的这个字段名却是Content-length!呵呵,不过是一个字母的大小写之差。
需要的朋友可以下载这个补丁(含patch文件和编译好的dll,自己选择吧。其实愿意自己编译的不妨直接修改f_login.c的line 353)。
|
文件: |
pidgin_fetion_crash_patch.zip |
大小: |
29KB |
下载: |
下载 | |
注:定位bug时难免会扫几眼代码,老实说,实在不敢恭维。代码风格不谈,内存操作实在是粗糙得可以,赤裸裸的内存泄露也是层出不穷。其实就这个bug本身居然导致程序crash,也很说明问题。虽然打了补丁后不会再直接崩溃,但如此质量的代码是否能放心让它在自己机器上运行,各位看着办吧。看了看
原作者的blog,似乎居然还在写Linux内核和GCC的代码分析文章,sigh。
阅读(4398) | 评论(0) | 转发(0) |