From de42f618e034f0726d0e6197c36aaa61c4004a69 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Herv=C3=A9=20Poussineau?= Date: Thu, 1 Dec 2005 10:52:16 +0000 Subject: [PATCH] Don't write outside the array in SetupDiGetClassDevPropertySheetsW svn path=/trunk/; revision=19794 --- reactos/lib/setupapi/devinst.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reactos/lib/setupapi/devinst.c b/reactos/lib/setupapi/devinst.c index def6e5277ab..10d85c16d62 100644 --- a/reactos/lib/setupapi/devinst.c +++ b/reactos/lib/setupapi/devinst.c @@ -3733,14 +3733,14 @@ BOOL WINAPI SetupDiGetClassDevPropertySheetsW( Request.DeviceInfoSet = DeviceInfoSet; Request.DeviceInfoData = DeviceInfoData; PropPageData.PropertySheetPages = &PropertySheetHeader->phpage[PropertySheetHeader->nPages]; - PropPageData.MaximumNumberOfPages = PropertySheetHeaderPageListSize; + PropPageData.MaximumNumberOfPages = PropertySheetHeaderPageListSize - PropertySheetHeader->nPages; PropPageData.NumberOfPages = 0; ret = pPropPageProvider(&Request, GetClassDevPropertySheetsCallback, (LPARAM)&PropPageData); if (!ret) goto cleanup; if (RequiredSize) - *RequiredSize = PropPageData.NumberOfPages; + *RequiredSize = PropPageData.NumberOfPages + PropertySheetHeader->nPages; if (PropPageData.NumberOfPages <= PropPageData.MaximumNumberOfPages) { PropertySheetHeader->nPages += PropPageData.NumberOfPages; -- 2.17.1