You should should learnt about NT_VERIFY :)

Best regards,
Alex Ionescu


On Sun, Jun 23, 2013 at 8:55 AM, <hbelu...@svn.reactos.org> wrote:

> Author: hbelusca
> Date: Sun Jun 23 12:55:17 2013
> New Revision: 59314
>
> URL: http://svn.reactos.org/svn/reactos?rev=59314&view=rev
> Log:
> [KERNEL32]
> Never EVER process instructions INSIDE a debug macro (e.g. ASSERT) because
> when compiling in Release Mode, the code isn't executed at all.
> Fix that. See revision r59310 for more details.
>
> Modified:
>     branches/ntvdm/dll/win32/kernel32/client/proc.c
>
> Modified: branches/ntvdm/dll/win32/kernel32/client/proc.c
> URL:
> http://svn.reactos.org/svn/reactos/branches/ntvdm/dll/win32/kernel32/client/proc.c?rev=59314&r1=59313&r2=59314&view=diff
>
> ==============================================================================
> --- branches/ntvdm/dll/win32/kernel32/client/proc.c     [iso-8859-1]
> (original)
> +++ branches/ntvdm/dll/win32/kernel32/client/proc.c     [iso-8859-1] Sun
> Jun 23 12:55:17 2013
> @@ -2541,6 +2541,7 @@
>      WCHAR SaveChar = 0;
>      ULONG RetVal;
>      UINT Error = 0;
> +    UINT Length;
>      BOOLEAN SearchDone = FALSE;
>      BOOLEAN Escape = FALSE;
>      CLIENT_ID ClientId;
> @@ -2630,7 +2631,13 @@
>      }
>
>      /* Get the path to the VDM host */
> -    ASSERT(GetSystemDirectoryW(VdmPath, MAX_PATH - wcslen(NTVDM_STRING))
> != 0);
> +    Length = GetSystemDirectoryW(VdmPath, MAX_PATH -
> wcslen(NTVDM_STRING));
> +    if ((Length == 0) || (Length >= MAX_PATH - wcslen(NTVDM_STRING)))
> +    {
> +        /* System path not found for some reason, fail */
> +        SetLastError(ERROR_INVALID_NAME);
> +        return FALSE;
> +    }
>      wcscat(VdmPath, NTVDM_STRING);
>
>      /*
>
>
>
_______________________________________________
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Reply via email to