joe-2.8-22 Joe seems seems to segfault when exiting (Save+exit or just exit) from editing/viewing a really big file. I tested several files, and it seems the limit for safe use is 4 megabytes (or something between 100,000 and 110,000 lines).
The problem is vclose() uses vsrm() to free vfile->name allocated from mktmp(), vclose() should use free() to free it. here is a patch: --- vfile.c~ Thu Oct 6 14:20:35 1994 +++ vfile.c Fri Mar 31 23:27:31 2000 @@ -255,7 +255,7 @@ { struct stat buf; VFILE *new=(VFILE *)malloc(sizeof(VFILE)); -new->name=vsncpy(NULL,0,sz(name)); +new->name=strdup(name); new->fd=open(name,O_RDWR); if(!new->fd) { @@ -288,7 +288,7 @@ { if(vfile->flags) unlink(vfile->name); else vflshf(vfile); - vsrm(vfile->name); + free(vfile->name); } if(vfile->fd) close(vfile->fd); free(deque(VFILE,link,vfile));
Thanks for the patch! Fixed in joe-2.8-25.