mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 15:23:03 +00:00
Added some error checks.
svn path=/trunk/; revision=1973
This commit is contained in:
parent
9d04225d93
commit
9d72cf785d
1 changed files with 26 additions and 9 deletions
|
@ -115,8 +115,12 @@ CmiCreateRegistry(PWSTR Filename)
|
||||||
DWORD FreeOffset;
|
DWORD FreeOffset;
|
||||||
int i, j;
|
int i, j;
|
||||||
BLOCK_OFFSET BlockOffset;
|
BLOCK_OFFSET BlockOffset;
|
||||||
|
DPRINT1("CmiCreateRegistry() Filename '%S'\n", Filename);
|
||||||
RegistryFile = ExAllocatePool(NonPagedPool, sizeof(REGISTRY_FILE));
|
RegistryFile = ExAllocatePool(NonPagedPool, sizeof(REGISTRY_FILE));
|
||||||
|
CHECKPOINT1;
|
||||||
|
if (RegistryFile == NULL)
|
||||||
|
return NULL;
|
||||||
|
CHECKPOINT1;
|
||||||
if (Filename != NULL)
|
if (Filename != NULL)
|
||||||
{
|
{
|
||||||
UNICODE_STRING TmpFileName;
|
UNICODE_STRING TmpFileName;
|
||||||
|
@ -176,8 +180,21 @@ CmiCreateRegistry(PWSTR Filename)
|
||||||
RegistryFile->HeaderBlock,
|
RegistryFile->HeaderBlock,
|
||||||
sizeof(HEADER_BLOCK),
|
sizeof(HEADER_BLOCK),
|
||||||
&fileOffset, 0);
|
&fileOffset, 0);
|
||||||
ZwQueryInformationFile(FileHandle,&IoSB,&fsi
|
if (!NT_SUCCESS(Status))
|
||||||
|
{
|
||||||
|
ExFreePool(RegistryFile->Filename);
|
||||||
|
RegistryFile->Filename = NULL;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
Status = ZwQueryInformationFile(FileHandle,&IoSB,&fsi
|
||||||
,sizeof(fsi),FileStandardInformation);
|
,sizeof(fsi),FileStandardInformation);
|
||||||
|
if (!NT_SUCCESS(Status))
|
||||||
|
{
|
||||||
|
ExFreePool(RegistryFile->Filename);
|
||||||
|
RegistryFile->Filename = NULL;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
RegistryFile->FileSize = fsi.EndOfFile.u.LowPart;
|
RegistryFile->FileSize = fsi.EndOfFile.u.LowPart;
|
||||||
RegistryFile->BlockListSize = RegistryFile->FileSize / 4096 -1;
|
RegistryFile->BlockListSize = RegistryFile->FileSize / 4096 -1;
|
||||||
// RegistryFile->NumberOfBlocks = RegistryFile->BlockListSize;
|
// RegistryFile->NumberOfBlocks = RegistryFile->BlockListSize;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue