delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2000/07/10/11:12:07

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
From: "Mark Weaver" <mark AT npsl DOT co DOT uk>
To: "Cygwin" <cygwin AT sourceware DOT cygnus DOT com>
Subject: environ problem
Date: Mon, 10 Jul 2000 16:06:08 +0100
Message-ID: <NEBBKFHFBJHCNOJOHEIEEEOGCAAA.mark@npsl.co.uk>
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700
Importance: Normal

I am currently in the process of a sendmail port to NT, based on cygwin.  I
have discovered that sendmail internally modifies environ, and then uses
putenv to modify the resulting environment (sample code that I abstracted
attached below) - doing this causes cygwin compiled programs to crash (due
in fact to an overwrite of the import address table).  (The crash might not
be immediate; a number of putenv calls are sometimes required for the
appropriate chunk of memory to be overwritten).

Before I `fix' this behaviour, does POSIX allow for modifying environ?  And
even if it doesn't, then is the practice widespread enough for it to be
worth supporting?  (i.e. should I fix cygwin or sendmail!)

Thanks,

Mark

code snippet:

int main()
{
	char *emptyenviron[1];
	char** ExternalEnviron;

	emptyenviron[0] = NULL;
	ExternalEnviron = environ;
	environ = emptyenviron;

	putenv("AGENT=sendmail"); // access violation here
	return 1;
}


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019