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:

NetBSD Home
NetBSD PR Database Search

(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.