[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[win-pv-devel] [PATCH] Fix BSOD on shutdown due to freeing NULL pointer



Unfortunately ExFreePoolWithTag() is not NULL-safe, and Base64Free() is
coded assuming it is. This patch adds an extra check for NULL to fix the
problem.

Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
---
 src/xenvbd/base64.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/xenvbd/base64.c b/src/xenvbd/base64.c
index 3e79b9f..0e62784 100644
--- a/src/xenvbd/base64.c
+++ b/src/xenvbd/base64.c
@@ -60,7 +60,8 @@ Base64Free(
     IN  PVOID   Buffer
     )
 {
-    ExFreePoolWithTag(Buffer, BASE64_POOL_TAG);
+    if (Buffer)
+        ExFreePoolWithTag(Buffer, BASE64_POOL_TAG);
 }
 
 static FORCEINLINE UCHAR
-- 
2.5.3


_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.