X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Fdll%2Fwin32%2Fsetupapi%2Fparser.c;h=ff30c63fc6de1c3d27e6bc753007bc76d705e71d;hp=844481065284e881a046e303120d00dae0cb4ca3;hb=e85d46966b859a04c180b419f05ac1ebfccb4f07;hpb=026816c434f641c213e390c5b1b7165ff451ba6f diff --git a/reactos/dll/win32/setupapi/parser.c b/reactos/dll/win32/setupapi/parser.c index 84448106528..ff30c63fc6d 100644 --- a/reactos/dll/win32/setupapi/parser.c +++ b/reactos/dll/win32/setupapi/parser.c @@ -1998,11 +1998,12 @@ SetupGetInfFileListW( /* Allocate memory for file filter */ if (DirectoryPath != NULL) - /* "DirectoryPath\*.inf" form */ - len = strlenW(DirectoryPath) + 1 + strlenW(InfFileSpecification) + 1; + /* "DirectoryPath\" form */ + len = strlenW(DirectoryPath) + 1 + 1; else - /* "%WINDIR%\Inf\*.inf" form */ - len = MAX_PATH + 1 + strlenW(InfDirectory) + strlenW(InfFileSpecification) + 1; + /* "%WINDIR%\Inf\" form */ + len = MAX_PATH + 1 + strlenW(InfDirectory) + 1; + len += MAX_PATH; /* To contain file name or "*.inf" string */ pFullFileName = MyMalloc(len * sizeof(WCHAR)); if (pFullFileName == NULL) { @@ -2014,7 +2015,7 @@ SetupGetInfFileListW( if (DirectoryPath) { strcpyW(pFullFileName, DirectoryPath); - if (pFullFileName[strlenW(pFullFileName) - 1] != '\\') + if (*pFullFileName && pFullFileName[strlenW(pFullFileName) - 1] != '\\') strcatW(pFullFileName, BackSlash); } else