Date: Sun, 5 Oct 2003 04:14:58 +0200 From: Christian Weisgerber <naddy@freebsd.org> To: freebsd-ports@freebsd.org Subject: editors/nano fix needs testing Message-ID: <20031005021458.GA64365@kemoauc.mips.inka.de>
next in thread | raw e-mail | index | archive | help
--0OAP2g/MAC+5xKAE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline The attached patch should fix nano's core dump on -CURRENT (which is also reproducible on -STABLE with sufficiently aggressive MALLOC_OPTIONS). I don't really use nano, though, so it would be nice if some people who do did test this on -CURRENT and -STABLE. -- Christian "naddy" Weisgerber naddy@mips.inka.de --0OAP2g/MAC+5xKAE Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="nano.patch" Index: Makefile =================================================================== RCS file: /home/pcvs/ports/editors/nano/Makefile,v retrieving revision 1.23 diff -u -r1.23 Makefile --- Makefile 4 Oct 2003 23:07:39 -0000 1.23 +++ Makefile 5 Oct 2003 01:16:47 -0000 @@ -7,7 +7,7 @@ PORTNAME= nano PORTVERSION= 1.2.2 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= editors MASTER_SITES= http://www.nano-editor.org/dist/v1.2/ @@ -29,10 +29,4 @@ ${MKDIR} ${EXAMPLESDIR} ${INSTALL_DATA} ${WRKSRC}/nanorc.sample ${EXAMPLESDIR} -.include <bsd.port.pre.mk> - -.if ${OSVERSION} > 500000 -BROKEN= "memory allocation bug" -.endif - -.include <bsd.port.post.mk> +.include <bsd.port.mk> Index: files/patch-files.c =================================================================== RCS file: files/patch-files.c diff -N files/patch-files.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/patch-files.c 5 Oct 2003 01:16:47 -0000 @@ -0,0 +1,56 @@ + +$FreeBSD$ + +--- files.c.orig Sun Oct 5 02:30:55 2003 ++++ files.c Sun Oct 5 02:35:06 2003 +@@ -1701,16 +1701,17 @@ + #ifdef NANO_EXTRA + static int did_cred = 0; + #endif ++ static char *writepath = NULL; + + #if !defined(DISABLE_BROWSER) || (!defined(DISABLE_MOUSE) && defined(NCURSES_MOUSE_VERSION)) + currshortcut = writefile_list; + #endif + +- answer = mallocstrcpy(answer, path); ++ writepath = mallocstrcpy(writepath, path); + + if (exiting && ISSET(TEMP_OPT)) { + if (filename[0] != '\0') { +- i = write_file(answer, 0, 0, 0); ++ i = write_file(writepath, 0, 0, 0); + display_main_list(); + return i; + } else { +@@ -1751,24 +1752,24 @@ + "%s%s%s", _("Write Selection to File"), formatstr, backupstr); + } else { + if (append == 2) +- i = statusq(1, writefile_list, answer, 0, ++ i = statusq(1, writefile_list, writepath, 0, + "%s%s%s", _("File Name to Prepend to"), formatstr, backupstr); + else if (append == 1) +- i = statusq(1, writefile_list, answer, 0, ++ i = statusq(1, writefile_list, writepath, 0, + "%s%s%s", _("File Name to Append to"), formatstr, backupstr); + else +- i = statusq(1, writefile_list, answer, 0, ++ i = statusq(1, writefile_list, writepath, 0, + "%s%s%s", _("File Name to Write"), formatstr, backupstr); + } + #else + if (append == 2) +- i = statusq(1, writefile_list, answer, ++ i = statusq(1, writefile_list, writepath, + "%s", _("File Name to Prepend to")); + else if (append == 1) +- i = statusq(1, writefile_list, answer, ++ i = statusq(1, writefile_list, writepath, + "%s", _("File Name to Append to")); + else +- i = statusq(1, writefile_list, answer, ++ i = statusq(1, writefile_list, writepath, + "%s", _("File Name to Write")); + #endif /* !NANO_SMALL */ + Index: files/patch-search.c =================================================================== RCS file: files/patch-search.c diff -N files/patch-search.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/patch-search.c 5 Oct 2003 01:16:47 -0000 @@ -0,0 +1,19 @@ + +$FreeBSD$ + +--- search.c.orig Sun Oct 5 02:38:32 2003 ++++ search.c Sun Oct 5 02:40:32 2003 +@@ -769,8 +769,12 @@ + + int do_gotoline(int line, int save_pos) + { ++ static char *linestr = NULL; ++ ++ linestr = mallocstrcpy(linestr, answer); ++ + if (line <= 0) { /* Ask for it */ +- int st = statusq(FALSE, goto_list, line != 0 ? answer : "", ++ int st = statusq(FALSE, goto_list, line != 0 ? linestr : "", + #ifndef NANO_SMALL + NULL, + #endif --0OAP2g/MAC+5xKAE--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031005021458.GA64365>