[ros-diffs] [greatlrd] 22073: Bugfix environ so it does not allown = in environ name not even as frist char

greatlrd at svn.reactos.org greatlrd at svn.reactos.org
Sat May 27 15:00:39 CEST 2006


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=22073&r1=22072&r2=22073&view=diff
==============================================================================
--- 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++)
    {




More information about the Ros-diffs mailing list