mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2025-11-11 02:58:02 -06:00
WIndows driver: add check for failed memory allocation
This commit is contained in:
@@ -3734,16 +3734,19 @@ NTSTATUS MountDevice (PDEVICE_OBJECT DeviceObject, MOUNT_STRUCT *mount)
|
|||||||
IO_STATUS_BLOCK ioblock;
|
IO_STATUS_BLOCK ioblock;
|
||||||
ULONG labelInfoSize = sizeof(FILE_FS_LABEL_INFORMATION) + (labelEffectiveLen * sizeof(WCHAR));
|
ULONG labelInfoSize = sizeof(FILE_FS_LABEL_INFORMATION) + (labelEffectiveLen * sizeof(WCHAR));
|
||||||
FILE_FS_LABEL_INFORMATION* labelInfo = (FILE_FS_LABEL_INFORMATION*) TCalloc (labelInfoSize);
|
FILE_FS_LABEL_INFORMATION* labelInfo = (FILE_FS_LABEL_INFORMATION*) TCalloc (labelInfoSize);
|
||||||
labelInfo->VolumeLabelLength = labelEffectiveLen * sizeof(WCHAR);
|
if (labelInfo)
|
||||||
memcpy (labelInfo->VolumeLabel, mount->wszLabel, labelInfo->VolumeLabelLength);
|
|
||||||
|
|
||||||
if (STATUS_SUCCESS == ZwSetVolumeInformationFile (volumeHandle, &ioblock, labelInfo, labelInfoSize, FileFsLabelInformation))
|
|
||||||
{
|
{
|
||||||
mount->bDriverSetLabel = TRUE;
|
labelInfo->VolumeLabelLength = labelEffectiveLen * sizeof(WCHAR);
|
||||||
NewExtension->bDriverSetLabel = TRUE;
|
memcpy (labelInfo->VolumeLabel, mount->wszLabel, labelInfo->VolumeLabelLength);
|
||||||
}
|
|
||||||
|
|
||||||
TCfree(labelInfo);
|
if (STATUS_SUCCESS == ZwSetVolumeInformationFile (volumeHandle, &ioblock, labelInfo, labelInfoSize, FileFsLabelInformation))
|
||||||
|
{
|
||||||
|
mount->bDriverSetLabel = TRUE;
|
||||||
|
NewExtension->bDriverSetLabel = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
TCfree(labelInfo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
__except (EXCEPTION_EXECUTE_HANDLER)
|
__except (EXCEPTION_EXECUTE_HANDLER)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user