[dummy] Sanity-check a PDO in WvDummyRemove()
authorShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Fri, 7 Jan 2011 15:01:47 +0000 (10:01 -0500)
committerShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Fri, 7 Jan 2011 15:10:24 +0000 (10:10 -0500)
This function should be avoided anyway, if possible.

src/winvblock/dummy.c

index 2ae5180..fd279e7 100644 (file)
@@ -174,8 +174,11 @@ static NTSTATUS STDCALL WvDummyAdd(
  *
  * It might actually be better to handle a PnP remove IOCTL.
  */
-WVL_M_LIB NTSTATUS STDCALL WvDummyRemove(IN PDEVICE_OBJECT Pdo) {    
-    return WvBusRemoveDev(WvDevFromDevObj(Pdo));
+WVL_M_LIB NTSTATUS STDCALL WvDummyRemove(IN PDEVICE_OBJECT Pdo) {
+    /* Sanity check. */
+    if (Pdo->DriverObject == WvDriverObj)
+      return WvBusRemoveDev(WvDevFromDevObj(Pdo));
+    return STATUS_INVALID_PARAMETER;
   }
 
 /**