From fty@tylan.com  Wed Sep 18 10:12:55 1996
Received: from loco.tylan.com (fty_slip.mcnc.org [128.109.64.149])
          by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id KAA26677
          for <FreeBSD-gnats-submit@freebsd.org>; Wed, 18 Sep 1996 10:12:50 -0700 (PDT)
Received: by loco.tylan.com (8.7.5/1.34)
	id NAA05235; Wed, 18 Sep 1996 13:12:44 -0400 (EDT)
Message-Id: <199609181712.NAA05235@loco.tylan.com>
Date: Wed, 18 Sep 1996 13:12:44 -0400 (EDT)
From: fty@ylan.com
Reply-To: fty@tylan.com
To: FreeBSD-gnats-submit@freebsd.org
Subject: setenv(3) buglet? Segv if var not previously defined
X-Send-Pr-Version: 3.2

>Number:         1635
>Category:       bin
>Synopsis:       setenv(3) buglet? Segv if var not previously defined
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Sep 18 10:20:01 PDT 1996
>Closed-Date:    Fri Feb 21 15:14:21 PST 1997
>Last-Modified:  Fri Feb 21 15:18:46 PST 1997
>Originator:     Frank Terhaar-Yonkers
>Release:        FreeBSD 2.1-STABLE i386
>Organization:
\\\\////\\\\////\\\\\////\\\\\////\\\\////\\\\////\\\\////\\\\////\\\\////\\\\
Frank Terhaar-Yonkers
10716 Penny Road
Raleigh, NC  27606-9114

Home:	fty@tylan.com	(919)387-1031
http://www.tylan.com

Work:	fty@mcnc.org	(919)248-1417
http://www.mcnc.org/hpcc.html
>Environment:

tcsh


>Description:
I started on a port of the newest XmailTool and got a seg fault.
Below is the gdb and offending lines of code.  According to the man
page, setenv is supposed to create the env var if it doesn't exit.
It works correctly if "MAIL" is previously defined, core dump
if not.

thanx - Frank

Starting program: /xusr/fty/src/xmailtool.3.1.0/xmailtool

Program received signal SIGSEGV, Segmentation fault.
0x81993cc in malloc ()
(gdb) bt
#0  0x81993cc in malloc ()
#1  0x81bff5e in setenv.so ()
#2  0x6e47 in main (argc=1, argv=0xefbfdc10) at xmailtool.c:2171
(gdb) print MAIL
$1 = 0x42fc0 "/xusr/fty/MailSpool/mbox"
(gdb) print system_mbox_fname
$2 = 0x4c880 "/xusr/fty/MailSpool/mbox"
(gdb) quit


{
                free(system_mbox_fname);
                system_mbox_fname = resource_mbox_fname;
                free(MAIL);
                MAIL=malloc(strlen(system_mbox_fname)+1);
                strcpy(MAIL,system_mbox_fname);
                setenv("MAIL",system_mbox_fname,1);
        }

>How-To-Repeat:

	

>Fix:
	
	

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: gnats-admin->freebsd-bugs 
Responsible-Changed-By: gpalmer 
Responsible-Changed-When: Thu Sep 19 20:03:04 PDT 1996 
Responsible-Changed-Why:  
Misfiled under gnats-admin 
State-Changed-From-To: open->closed 
State-Changed-By: mpp 
State-Changed-When: Fri Feb 21 15:14:21 PST 1997 
State-Changed-Why:  
Setenv(3) works fine under 2.1.7 and 3.0-current. 
>Unformatted:
Howdy,

