NetBSD Problem Report #51010
From www@NetBSD.org Fri Mar 25 18:03:40 2016
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
by mollari.NetBSD.org (Postfix) with ESMTPS id 200687A2B0
for <gnats-bugs@gnats.NetBSD.org>; Fri, 25 Mar 2016 18:03:40 +0000 (UTC)
Message-Id: <20160325180338.D7A117ABD8@mollari.NetBSD.org>
Date: Fri, 25 Mar 2016 18:03:38 +0000 (UTC)
From: asiekierka@gmail.com
Reply-To: asiekierka@gmail.com
To: gnats-bugs@NetBSD.org
Subject: editors/nano-2.5.3 segfaults when filename outside of current working directory given as argument
X-Send-Pr-Version: www-1.0
>Number: 51010
>Category: pkg
>Synopsis: editors/nano-2.5.3 segfaults when filename outside of current working directory given as argument
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: bsiegert
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Mar 25 18:05:00 +0000 2016
>Closed-Date: Sat Mar 26 20:29:27 +0000 2016
>Last-Modified: Sat Mar 26 22:55:00 +0000 2016
>Originator: Adrian Siekierka
>Release: NetBSD 7.99.26 (GENERIC.201603250620Z), pkgsrc-current (25-03-2016)
>Organization:
>Environment:
Machine 1:
NetBSD 7.99.26 (GENERIC.201603250620Z) amd64
Machine 2:
NetBSD asie.pl 7.99.26 NetBSD 7.99.26 (GENERIC.201603180940Z) amd64
>Description:
If nano is ran with an argument pointing to a file outside of the current working directory, it produces a segmentation fault.
>How-To-Repeat:
"nano /etc/mk.conf" or "nano directory/file.txt" will cause the segmentation fault, while "nano file.txt" will not.
>Fix:
>Release-Note:
>Audit-Trail:
From: Christos Zoulas <christos@zoulas.com>
To: gnats-bugs@NetBSD.org
Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/51010: editors/nano-2.5.3 segfaults when filename outside of current working directory given as argument
Date: Fri, 25 Mar 2016 15:46:05 -0300
i am guessing it is using dirname incorrectly.
christos
From: coypu@SDF.ORG
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: pkg/51010: editors/nano-2.5.3 segfaults when filename outside of
current working directory given as argument
Date: Sat, 26 Mar 2016 16:26:20 +0000
The following patch fixes things for me.
--- src/files.c.orig 2016-02-25 20:47:10.000000000 +0000
+++ src/files.c
@@ -59,7 +59,6 @@ bool has_valid_path(const char *filename
validity = TRUE;
}
- free(parentdir);
if (!validity)
beep();
Responsible-Changed-From-To: pkg-manager->bsiegert
Responsible-Changed-By: bsiegert@NetBSD.org
Responsible-Changed-When: Sat, 26 Mar 2016 17:22:23 +0000
Responsible-Changed-Why:
Sounds easy!
From: Kamil Rytarowski <n54@gmx.com>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: pkg/51010: editors/nano-2.5.3 segfaults when filename outside of
current working directory given as argument
Date: Sat, 26 Mar 2016 18:48:45 +0100
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
There might still be a memory leak. Are you OK with this patch:
$NetBSD$
- --- src/files.c.orig 2016-02-25 20:47:10.000000000 +0000
+++ src/files.c
@@ -43,7 +43,7 @@ bool has_valid_path(const char *filename
if (strrchr(filename, '/') == NULL)
parentdir = mallocstrcpy(NULL, ".");
else
- - parentdir = dirname(mallocstrcpy(NULL, filename));
+ parentdir = strdup(dirname(filename));
if (stat(parentdir, &parentinfo) == -1) {
if (errno == ENOENT)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBCAAGBQJW9st9AAoJEEuzCOmwLnZsGwMQAIsll+SWPHgf+KVwp0PN6+74
GK9lIkZC4wiePjcA9UIQKYm2pcJ0RAKzyELWjALSH0ikLem4rKnHs8s2+slNR4A9
KC06mi4sKT01CkPCz3Ov2t1SQLwY8lhwKpKWXRDkJDZutTHZBTRBUxH6IK4AjnsO
jXnp7Wtw6RmXsU2Jkw9lLzT24Y5SK3LADcSLdpdr+NkXvSjll3namT7Ed7OXNpmV
b1VycxXqWhLyNnUZ70CLE5WwihXVXD0fmUcP9fNR8nfy72m5UbFHU1DzBBXTZ8Sx
16SscgUmswV05GCypbWfHruFx456AQDnfcF6thO4UOB/WauFSPkK/0aa9LYFcrcf
BfhHnCjiRK+AjXNNx5JdtpViVM8zpUx7+siVG1eAZl36hMVCDPy0Clt4vL4jXuVs
Tmhzi1o9YkIlAlL8LkKPCzzDd+lpOyPnzRK7jJ20YIyMMFEv37Piw7L6g8RbNa57
npl2p/iA2lSklYbhTSLWl9qmysti+3G/LHGqe/Mw4qlSqICPXW470ZhaZBx6A0W+
AAO8WN71/DHAs8ntG56lJ00/+GQ9W4EPIDwTHgfZsa3kGZEFDROPOKtfAT6RIFv3
msTTgIuaOjuQLOtFLaNvGX6ChWGZQTnAMu6jItOqYNBM9VQsfMjliihp6WgR6NXT
kInGZneGSafHkRtTTSUF
=C0ZD
-----END PGP SIGNATURE-----
From: Benny Siegert <bsiegert@NetBSD.org>
To: gnats-bugs@netbsd.org
Cc: gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org, asiekierka@gmail.com
Subject: Re: pkg/51010: editors/nano-2.5.3 segfaults when filename outside of
current working directory given as argument
Date: Sat, 26 Mar 2016 20:51:16 +0100
> - - parentdir = dirname(mallocstrcpy(NULL, filename));
> + parentdir = strdup(dirname(filename));
Should be
parentdir = mallocstrcpy(NULL, dirname(filename));
Feel free to commit that.
From: "Benny Siegert" <bsiegert@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/51010 CVS commit: pkgsrc/editors/nano
Date: Sat, 26 Mar 2016 20:21:37 +0000
Module Name: pkgsrc
Committed By: bsiegert
Date: Sat Mar 26 20:21:37 UTC 2016
Modified Files:
pkgsrc/editors/nano: Makefile distinfo
Added Files:
pkgsrc/editors/nano/patches: patch-src_files.c
Log Message:
Fix opening files in directories other than the current one (no, really).
From coypu in PR pkg/51010. Bump PKGREVISION.
To generate a diff of this commit:
cvs rdiff -u -r1.53 -r1.54 pkgsrc/editors/nano/Makefile
cvs rdiff -u -r1.26 -r1.27 pkgsrc/editors/nano/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/editors/nano/patches/patch-src_files.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: open->closed
State-Changed-By: bsiegert@NetBSD.org
State-Changed-When: Sat, 26 Mar 2016 20:29:27 +0000
State-Changed-Why:
Fix submitted.
From: Kamil Rytarowski <n54@gmx.com>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: pkg/51010: editors/nano-2.5.3 segfaults when filename outside of
current working directory given as argument
Date: Sat, 26 Mar 2016 23:48:42 +0100
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 26.03.2016 20:55, Benny Siegert wrote:
> The following reply was made to PR pkg/51010; it has been noted by
> GNATS.
>
> From: Benny Siegert <bsiegert@NetBSD.org> To:
> gnats-bugs@netbsd.org Cc: gnats-admin@netbsd.org,
> pkgsrc-bugs@netbsd.org, asiekierka@gmail.com Subject: Re:
> pkg/51010: editors/nano-2.5.3 segfaults when filename outside of
> current working directory given as argument Date: Sat, 26 Mar 2016
> 20:51:16 +0100
>
>> - - parentdir = dirname(mallocstrcpy(NULL, filename)); +
>> parentdir = strdup(dirname(filename));
>
> Should be
>
> parentdir = mallocstrcpy(NULL, dirname(filename));
>
> Feel free to commit that.
>
>
Right, this is better for consistency.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBCAAGBQJW9xHJAAoJEEuzCOmwLnZsEpIP/2PLFcZR75B7vuoEClYa8YIR
jOqr80/Z/Z7mchmegMf/ZzhA4I3ZwgyYWAz8LVxxVxR4qe5A4vhAfPb3TZvp0aJy
kSMHMxHQuvjxJmFDk5qtk4C/A1v757ZkyIT9lAJfAfqE9srdblR1McoFe0FarDhQ
LkP/gV0MaNWtFtYD4a+qSjq9kMk5XHlecE/70b0X9jZn0AGcYK1NMQMYlOjPp1kt
azihxiwDqeEqknhc2BfkwxaFf46580kJwbTWwzCZ1jNaBuO8tWNi320yTLKAQV5j
keAGOMOaSGfFO/1jfSLqgFY4YJRILzXkmOLWmq4C+OwmvoXVf1LaiKBdPU6EW0Ed
Llm01PjHKYdRGUCnrUGMvHxXBQUwcSujN+reMVjExC4IFaTFQ0WdKq89PXkwqw8p
ICz5OXad6uF73MbcmI8kl0lJTg9eAMUvZN0nC9lZ4PRrhuJGWS61I7HCFutkXakQ
u+miC3zwlDej4h62wusw8c8C4AmhDT1n+nVBszosi5k1A83+k/CYs4UTUfkNxDj0
vOr8fgxWARrxLLS7bCL60lJvFOMt3Kd6md3Y1ubvbyalvk6R4j9O6RTNCzv6enAe
TVFg/Z38VFaEv5APi3lfy9jcV3lYrGSga3evSblZlKTOSbHWhqSZEVk6H8CFDT1j
wfMtNkVIwlzyRDJ0OMnt
=cE3O
-----END PGP SIGNATURE-----
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.