From: Richard Turner Date: Fri, 8 Oct 2021 13:22:44 +0000 (-0400) Subject: xenfilt: Move list pointer to next entry when pdo is missing X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=6ac33aebe7ed447f1d1d80a0aefbbda6682b1813;p=pvdrivers%2Fwin%2Fxenbus.git xenfilt: Move list pointer to next entry when pdo is missing The pointer to the list of fdo entries is never advanced when the pdo is missing, causing a BSOD. When a device is missing, advance the list pointer to the next entry. Signed-off-by: Richard Turner --- diff --git a/src/xenfilt/fdo.c b/src/xenfilt/fdo.c index b8cf424..6a45b0f 100644 --- a/src/xenfilt/fdo.c +++ b/src/xenfilt/fdo.c @@ -1107,7 +1107,7 @@ FdoQueryDeviceRelations( if (PdoGetDevicePnpState(Pdo) == Deleted) PdoDestroy(Pdo); - continue; + goto next; } if (PdoGetDevicePnpState(Pdo) == Present) @@ -1116,6 +1116,7 @@ FdoQueryDeviceRelations( ObReferenceObject(PdoGetPhysicalDeviceObject(Pdo)); Relations->Objects[Relations->Count++] = PdoGetPhysicalDeviceObject(Pdo); +next: ListEntry = Next; }