The port editor/nano segfaults on 8.0, when run: > nano Segmentation fault: 11 (core dumped) I tracked this down to line 617 of rcfile.c where getline is called with an uninitalised argument. The fix is to initalise n to zero on a few lines above. The attached patch should fix this. I am also reporting this problem upstream. Fix: Recompile with the attached patch, or run nano with the --ignorercfiles argument. Patch attached with submission follows: How-To-Repeat: Run nano with no arguments.
Responsible Changed From-To: freebsd-ports-bugs->naddy Fix synopsis and assign.
naddy 2009-08-30 15:26:48 UTC FreeBSD ports repository Modified files: editors/nano Makefile Added files: editors/nano/files patch-src_rcfile.c Log: Fix segfault on 8.0. PR: 138320 Submitted by: Andrew Brampton <brampton@gmail.com> Revision Changes Path 1.49 +1 -0 ports/editors/nano/Makefile 1.1 +14 -0 ports/editors/nano/files/patch-src_rcfile.c (new) _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Committed, thanks.
Author: das Date: Sun Oct 4 19:43:36 2009 New Revision: 197752 URL: http://svn.freebsd.org/changeset/base/197752 Log: Better glibc compatibility for getline/getdelim: - Tolerate applications that pass a NULL pointer for the buffer and claim that the capacity of the buffer is nonzero. - If an application passes in a non-NULL buffer pointer and claims the buffer has zero capacity, we should free (well, realloc) it anyway. It could have been obtained from malloc(0), so failing to free it would be a small memory leak. MFC After: 2 weeks Reported by: naddy PR: ports/138320 Modified: head/lib/libc/stdio/getdelim.c Modified: head/lib/libc/stdio/getdelim.c ============================================================================== --- head/lib/libc/stdio/getdelim.c Sun Oct 4 19:03:32 2009 (r197751) +++ head/lib/libc/stdio/getdelim.c Sun Oct 4 19:43:36 2009 (r197752) @@ -120,8 +120,8 @@ getdelim(char ** __restrict linep, size_ goto error; } - if (*linecapp == 0) - *linep = NULL; + if (*linep == NULL) + *linecapp = 0; if (fp->_r <= 0 && __srefill(fp)) { /* If fp is at EOF already, we just need space for the NUL. */ _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"