From: Alexandre Goujon <ale.goujon@gmail.com>
Subject: [PATCH 1/2] ntdll: Add a check to fix a test failure
Message-Id: <1346422638-18486-1-git-send-email-ale.goujon@gmail.com>
Date: Fri, 31 Aug 2012 16:17:17 +0200

Fix kernel32/tests/volume.c:813
---
 dlls/ntdll/cdrom.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/dlls/ntdll/cdrom.c b/dlls/ntdll/cdrom.c
index 87e0695..54b9ab6 100644
--- a/dlls/ntdll/cdrom.c
+++ b/dlls/ntdll/cdrom.c
@@ -3095,7 +3095,9 @@ NTSTATUS CDROM_DeviceIoControl(HANDLE hDevice,
         break;
     case IOCTL_DVD_READ_STRUCTURE:
         sz = sizeof(DVD_LAYER_DESCRIPTOR);
-        if (lpInBuffer == NULL || nInBufferSize != sizeof(DVD_READ_STRUCTURE)) status = STATUS_INVALID_PARAMETER;
+        if (lpInBuffer == NULL || nInBufferSize != sizeof(DVD_READ_STRUCTURE)
+        || (((DVD_READ_STRUCTURE*)lpInBuffer)->Format==0 && nOutBufferSize==sz))
+            status = STATUS_INVALID_PARAMETER;
         else if (nOutBufferSize < sz || !lpOutBuffer) status = STATUS_BUFFER_TOO_SMALL;
         else
         {
-- 
1.7.9.5