This is the mail archive of the cygwin@sources.redhat.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: environ problem


I don't know a darn thing about POSIX but I do know that I tried using
getenv() and also had access violations and other similar hangups.

Do these functions work at all with cygwin?

/dave

-----Original Message-----
From: Mark Weaver <mark@npsl.co.uk>
To: Cygwin <cygwin@sourceware.cygnus.com>
Date: Monday, July 10, 2000 8:12 AM
Subject: environ problem


>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@sourceware.cygnus.com
>


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]