nano-devel
[Top][All Lists]
Advanced

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

Re: [Nano-devel] updates, 1.3.9pre1 soon (Debian bug #325065)


From: David Lawrence Ramsey
Subject: Re: [Nano-devel] updates, 1.3.9pre1 soon (Debian bug #325065)
Date: Wed, 14 Sep 2005 17:45:55 -0400
User-agent: Mozilla Thunderbird 1.0.6 (X11/20050716)

Update: I still can't reproduce this, but I think I've narrowed it down. I don't believe it's related to the crash in 1.3.7, since that crash
always occurred during the reallocation inside the null_at() at the end
of display_string(), and it always originated in (IIRC)
_glibc_malloc_consolidate(), not realloc().  I also just fixed memory
corruption problems in control_mbrep() and mbrep() in 1.3.8-cvs, but
they aren't related to this, since they occur in code that doesn't exist
in 1.3.8, and I don't believe that there are any similar problems in
1.3.8, since (a) no similar crashes occur in 1.3.8, and (b) the crashes
that the bugs caused in 1.3.8-cvs occurred in free(), not realloc().

In case the aforementioned fullscreen display bug fixed in 1.3.8-cvs
does have any effect on this, I've attached a patch that should fix it
in 1.3.8.  However, without any verification that the crash is gone in a
later version, any meaningful information from valgrind, or at least a
gdb backtrace of the crash, there isn't much else I can do without being
able to reproduce it.

One last question: Does it occur in fullscreen mode in any terminal
other than gnome-terminal?  Thanks in advance.

diff -ur nano-1.3.8/src/winio.c nano-1.3.8-fixed/src/winio.c
--- nano-1.3.8/src/winio.c      2005-06-30 12:18:35.000000000 -0400
+++ nano-1.3.8-fixed/src/winio.c        2005-09-14 17:41:30.000000000 -0400
@@ -2290,8 +2290,8 @@
     converted = charalloc(alloc_len + 1);
     index = 0;
 
-    if (column < start_col || (dollars && column > 0 &&
-       buf[start_index] != '\t')) {
+    if (buf[start_index] != '\t' && (column < start_col || (dollars &&
+       column > 0))) {
        /* We don't display all of buf[start_index] since it starts to
         * the left of the screen. */
        buf_mb_len = parse_mbchar(buf + start_index, buf_mb, NULL,

reply via email to

[Prev in Thread] Current Thread [Next in Thread]