https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5e891f727f5bb07cf93fb…
commit 5e891f727f5bb07cf93fb96959168c75865c3bda
Author: Thomas Faber <thomas.faber(a)reactos.org>
AuthorDate: Tue Jan 28 19:52:55 2020 +0100
Commit: Thomas Faber <thomas.faber(a)reactos.org>
CommitDate: Sat Feb 15 20:43:26 2020 +0100
[NTOS:WMI] WMIP_GUID_OBJECT must start with an event object, as it is waitable.
The initializer for WmipGuidObjectType does not set UseDefaultObject,
and it's possible for user mode to obtain a handle to a GUID object
with SYNCHRONIZE access. Therefore that handle can be passed to
NtWaitForSingleObject, which means it must start with a DISPATCHER_HEADER.
---
ntoskrnl/wmi/guidobj.c | 1 +
ntoskrnl/wmi/wmip.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/ntoskrnl/wmi/guidobj.c b/ntoskrnl/wmi/guidobj.c
index 1a13d36a03c..48b8481fd9a 100644
--- a/ntoskrnl/wmi/guidobj.c
+++ b/ntoskrnl/wmi/guidobj.c
@@ -204,6 +204,7 @@ WmipCreateGuidObject(
}
RtlZeroMemory(GuidObject, sizeof(*GuidObject));
+ KeInitializeEvent(&GuidObject->Event, NotificationEvent, FALSE);
GuidObject->Guid = *Guid;
*OutGuidObject = GuidObject;
diff --git a/ntoskrnl/wmi/wmip.h b/ntoskrnl/wmi/wmip.h
index 69ecf7d0572..f45cba01139 100644
--- a/ntoskrnl/wmi/wmip.h
+++ b/ntoskrnl/wmi/wmip.h
@@ -12,6 +12,7 @@ typedef struct _WMIP_IRP_CONTEXT
typedef struct _WMIP_GUID_OBJECT
{
+ KEVENT Event;
GUID Guid;
PIRP Irp;
LIST_ENTRY IrpLink;
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=0d6e522c6a85641441208…
commit 0d6e522c6a856414412081fee3fd7556941e3aa1
Author: Victor Perevertkin <victor.perevertkin(a)reactos.org>
AuthorDate: Sat Feb 15 18:39:01 2020 +0300
Commit: Victor Perevertkin <victor.perevertkin(a)reactos.org>
CommitDate: Sat Feb 15 18:39:01 2020 +0300
[SDK][CRT] Correct stdbool.h and remove an unused one
---
sdk/include/crt/mingw32/stdbool.h | 53 ---------------------------------------
sdk/include/crt/stdbool.h | 2 +-
2 files changed, 1 insertion(+), 54 deletions(-)
diff --git a/sdk/include/crt/mingw32/stdbool.h b/sdk/include/crt/mingw32/stdbool.h
deleted file mode 100644
index b36e6503d41..00000000000
--- a/sdk/include/crt/mingw32/stdbool.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING. If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA. */
-
-/* As a special exception, if you include this header file into source
- files compiled by GCC, this header file does not by itself cause
- the resulting executable to be covered by the GNU General Public
- License. This exception does not however invalidate any other
- reasons why the executable file might be covered by the GNU General
- Public License. */
-
-/*
- * ISO C Standard: 7.16 Boolean type and values <stdbool.h>
- */
-
-#ifndef _STDBOOL_H
-#define _STDBOOL_H
-
-#ifndef __cplusplus
-
-#define bool _Bool
-#define true 1
-#define false 0
-
-#else /* __cplusplus */
-
-/* Supporting <stdbool.h> in C++ is a GCC extension. */
-#define _Bool bool
-#define bool bool
-#define false false
-#define true true
-
-#endif /* __cplusplus */
-
-/* Signal that all the definitions are present. */
-#define __bool_true_false_are_defined 1
-
-#endif /* stdbool.h */
diff --git a/sdk/include/crt/stdbool.h b/sdk/include/crt/stdbool.h
index 497bb493cb6..73629e26dcf 100644
--- a/sdk/include/crt/stdbool.h
+++ b/sdk/include/crt/stdbool.h
@@ -28,7 +28,7 @@
/* Don't define bool, true, and false in C++, except as a GNU extension. */
#ifndef __cplusplus
-#if _MSC_VER <= 1600
+#if defined(_MSC_VER) && _MSC_VER <= 1600
#define bool unsigned char
#else
#define bool _Bool