From 4dc2cfe588b87a2eab01f1a0b8369832f53b61c3 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 16 Sep 2005 14:52:32 +0000 Subject: [PATCH] * environ.cc (environ_init): Issue an error if GetEnvironmentStrings fails and return. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/environ.cc | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index b79cde5d5..08e0781cd 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2005-09-16 Christopher Faylor + + * environ.cc (environ_init): Issue an error if GetEnvironmentStrings + fails and return. + 2005-09-15 Christopher Faylor * pinfo.h (EXITCODE_SET): Move out of range of Windows error. diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc index 37d950ee0..4029cd624 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc @@ -752,7 +752,13 @@ environ_init (char **envp, int envc) /* Allocate space for environment + trailing NULL + CYGWIN env. */ lastenviron = envp = (char **) malloc ((4 + (envc = 100)) * sizeof (char *)); + rawenv = GetEnvironmentStrings (); + if (!rawenv) + { + system_printf ("GetEnvironmentStrings returned NULL, %E"); + return; + } /* Current directory information is recorded as variables of the form "=X:=X:\foo\bar; these must be changed into something legal