Bug 5372 - Joe coredumps when using big files
Joe coredumps when using big files
Status: CLOSED RAWHIDE
Product: Red Hat Linux
Classification: Retired
Component: joe (Show other bugs)
6.0
All Linux
low Severity medium
: ---
: ---
Assigned To: Cristian Gafton
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 1999-09-26 04:17 EDT by Pekka Savola
Modified: 2008-05-01 11:37 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2000-03-31 14:50:34 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Pekka Savola 1999-09-26 04:17:13 EDT
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).
Comment 1 Chih-Chung Chang 2000-03-31 12:52:59 EST
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));
Comment 2 Bill Nottingham 2000-03-31 14:50:59 EST
Thanks for the patch!

Fixed in joe-2.8-25.

Note You need to log in before you can comment on or make changes to this bug.