I don't really understand the internals of JOE, but it looks like
the crash occurs because the editor tries to remove a
corrupt/non-existent/orphaned link from a doubly linked list in
b.c line 334 (using the deque_f macro from queue.h on line 29).
This quick fix prevents the segfault but might leak memory, cause
some other defects and/or mask the real bug:
--- orig/joe-3.1/b.c 2004-05-27 01:23:37.000000000 +0300
+++ joe-3.1/b.c 2005-07-10 18:16:26.000000000 +0300
@@ -331,7 +331,8 @@
*p->owner = NULL;
if (p->ptr)
vunlock(p->ptr);
- pfree(deque_f(P, link, p));
+ if ( p->link.prev && p->link.next )
+ pfree(deque_f(P, link, p));
}
P *pset(P *n, P *p)
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]