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

[freewnn:00353] FreeWnn-1.1.1-a015; msg_open; libwnn.msg



Hi,

Judging from the way libwnn.msg files are parsed, they must *not*
contain any blank lines.  Two for loops in msg_open() in
Wnn/etc/msg.c:

        for(dp = data ; *dp != '\t'; dp++);     /* msg_id:message\n */

terminate normally *only* if they see a tab.  With blank lines or
ill-formatted lines (i.e. lines without a tab), these loops keep
searching beyond a null terminator and eventually cause an access
violation.  The easiest workaround is to just remove those blank lines
from the libwnn.msg files.

I tried FeeWnn-1.1.1-a015 on the following two systems:

1. Sun Ultra 5 + Solaris 2.7 + gcc 2.95.2
2. Sun SS 5 + Solaris 2.4 + egcs 2.91.60

Somehow it worked ok on system 1.  The jserver did crash at startup
(in msg_open) on system 2, but it worked without problems after I
removed two blank lines from the /usr/local/lib/wnn/ja_JP/libwnn.msg.

Regards,

---
Hiroshige Yoshida                 | Em: hiro@ua.submm.caltech.edu
Caltech Submillimeter Observatory | Ph: (808) 935-1909
111 Nowelo Street, Hilo, HI 96720 | Fx: (808) 961-6273