Author: greatlrd
Date: Sat May 27 17:00:39 2006
New Revision: 22073
URL:
http://svn.reactos.ru/svn/reactos?rev=22073&view=rev
Log:
Bugfix environ so it does not allown = in environ name not even as frist char
Modified:
trunk/reactos/lib/crt/misc/environ.c
Modified: trunk/reactos/lib/crt/misc/environ.c
URL:
http://svn.reactos.ru/svn/reactos/trunk/reactos/lib/crt/misc/environ.c?rev=…
==============================================================================
--- trunk/reactos/lib/crt/misc/environ.c (original)
+++ trunk/reactos/lib/crt/misc/environ.c Sat May 27 17:00:39 2006
@@ -222,6 +222,7 @@
if (option == NULL || (epos = wcschr(option, L'=')) == NULL)
return -1;
+
remove = (epos[1] == 0);
/* Duplicate environment if needed. */
@@ -244,6 +245,15 @@
memcpy(name, option, (epos - option) * sizeof(wchar_t));
name[epos - option] = 0;
+ if (*name == 0) || (wcschr(option, L'=') !=NULL)
+ {
+ /* fixme check see if name contain any space or so
+ so we really locate first char in name and compare
+ it with equal
+ */
+ free(name);
+ return -1;
+ }
/* Find the option we're trying to modify. */
for (index = 0, wenvptr = _wenviron; *wenvptr != NULL; wenvptr++, index++)
{