X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=drivers%2Fksfilter%2Fks%2Fimage.c;h=55828b8b3e4bb722f61bf22b6d312a722489d2b9;hp=dbdeca02501ee506199565e0e6243f00e6c038c3;hb=f66525ee02257ec70732abc74034a2161e12190b;hpb=9fa710c8135d9c18cd6e828bc696b4a3a8b95f9d diff --git a/drivers/ksfilter/ks/image.c b/drivers/ksfilter/ks/image.c index dbdeca02501..55828b8b3e4 100644 --- a/drivers/ksfilter/ks/image.c +++ b/drivers/ksfilter/ks/image.c @@ -27,7 +27,7 @@ KsLoadResource( PIMAGE_RESOURCE_DATA_ENTRY ResourceDataEntry; PVOID Data; ULONG Size; - PVOID Result = NULL; + PVOID _SEH2_VOLATILE Result = NULL; /* set up resource info */ ResourceInfo.Type = ResourceType; @@ -52,7 +52,12 @@ KsLoadResource( RtlMoveMemory(Result, Data, Size); /* store result */ *Resource = Result; - *ResourceSize = Size; + + if (ResourceSize) + { + /* resource size is optional */ + *ResourceSize = Size; + } } else { @@ -126,7 +131,7 @@ KsGetImageNameAndResourceId( } /* allocate image name buffer */ - ImageName->MaximumLength = sizeof(ImagePath) + ImageLength; + ImageName->MaximumLength = (USHORT)(sizeof(ImagePath) + ImageLength); ImageName->Buffer = AllocateItem(PagedPool, ImageName->MaximumLength); /* check for success */ @@ -140,7 +145,11 @@ KsGetImageNameAndResourceId( RtlCopyMemory(ImageName->Buffer, ImagePath, sizeof(ImagePath)); /* retrieve image name */ - Status = KspQueryRegValue(RegKey, L"Image", &ImageName->Buffer[sizeof(ImagePath) / sizeof(WCHAR)], &ImageLength, NULL); + Status = KspQueryRegValue(RegKey, + L"Image", + &ImageName->Buffer[sizeof(ImagePath) / sizeof(WCHAR)], + &ImageLength, + NULL); if (!NT_SUCCESS(Status)) {