From 3a049236dbb426f63b6182253c04fb9811848dc5 Mon Sep 17 00:00:00 2001 From: Ken Brown Date: Wed, 6 Jun 2018 11:45:57 -0400 Subject: [PATCH] Cygwin: Remove workaround in environ.cc Commit ebd645e on 2001-10-03 made environ.cc:_addenv() add unneeded space at the end of the environment block to "work around problems with some buggy applications." This clutters the code and is presumably no longer needed. --- winsup/cygwin/environ.cc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc index bbe539816..67ead1dde 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc @@ -592,13 +592,11 @@ _addenv (const char *name, const char *value, int overwrite) { /* Create new slot. */ int sz = envsize (cur_environ ()); - /* If sz == 0, we need two new slots, one for the terminating NULL. - But we add two slots in all cases, as has been done since - 2001-10-03 (commit ebd645e) to "work around problems with - some buggy applications." */ - int allocsz = (sz + 2) * sizeof (char *); + /* If sz == 0, we need two new slots, one for the terminating NULL. */ + int newsz = sz == 0 ? 2 : sz + 1; + int allocsz = newsz * sizeof (char *); - offset = sz == 0 ? 0 : sz - 1; + offset = newsz - 2; /* Allocate space for additional element. */ if (cur_environ () == lastenviron) -- 2.43.5