[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:02723] local_dir Bug Fix of xftp-2.2-1



永井@大和郡山です。

Debian-1.3.1 に含まれている xftp-2.2-1 において、~/.moxftprc に 
local_dir を書くと、変な値が表示されます。

本家 Debian の問題でしょうが、英語での Bug Report に尻込みをして
しまっていますので、Debian/JP の ML に投稿致します。

gdb を使いながらソースを調べてみましたところ、wc_hooks.c の中の 
Set_Local という関数で、引数の値によっては自分自身の Allocation 
を開放して、その開放したアドレスに書かれていた文字列を再割り当て
してしまうことがありました。

添付はその部分の修正パッチです。

--
Katsuya Nagai <katsuya@xxxxxxxxx> URL:http://www.kcn.or.jp/~katsuya/

Private, Nara Prefecture, Japan.
// The hacker isn't the cracker, do you know?
--- moxftp-2.2.orig/wc_hooks.c
+++ moxftp-2.2/wc_hooks.c
@@ -718,10 +718,13 @@
 {
     char *t = NULL;
 
-    if (local_dir) {
-	XtFree(local_dir);
+    if (s != local_dir) {
+	if (local_dir) {
+	    XtFree(local_dir);
+	}
+	local_dir = XtNewString(s);
     }
-    local_dir = XtNewString(s);
+
     if( Remote_local == LOCAL) {
        	SetWidget(Dir_w, "*.dir", 0);
         t =  concat(t, "Local Directory: ");