From e4d981b9578d322d529b65aea55964f2249b5953 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 16 Sep 2005 19:58:12 +0000 Subject: * environ.cc (build_env): Clear envblock and return NULL on attempt to use env var > 32K. * spawn.cc (spawn_guts): Set E2BIG if build_env detects an error. --- winsup/cygwin/spawn.cc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'winsup/cygwin/spawn.cc') diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index ffafa8f7c..149a25999 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -624,6 +624,11 @@ spawn_guts (const char * prog_arg, const char *const *argv, cygheap->user.deimpersonate (); moreinfo->envp = build_env (envp, envblock, moreinfo->envc, real_path.iscygexec ()); + if (!moreinfo->envp || !envblock) + { + set_errno (E2BIG); + goto out; + } ciresrv.set (chtype, real_path.iscygexec ()); ciresrv.moreinfo = moreinfo; -- cgit v1.2.3