RtlZeroMemory(name, sizeof(MOUNTDEV_NAME));
name->NameLength = deviceExtension->DeviceName.Length;
- if (irpStack->Parameters.DeviceIoControl.OutputBufferLength < sizeof(USHORT) + name->NameLength) {
+ if (irpStack->Parameters.DeviceIoControl.OutputBufferLength < FIELD_OFFSET(MOUNTDEV_NAME, Name) + name->NameLength) {
Irp->IoStatus.Information = sizeof(MOUNTDEV_NAME);
Irp->IoStatus.Status = STATUS_BUFFER_OVERFLOW;
name->NameLength);
status = STATUS_SUCCESS;
Irp->IoStatus.Status = STATUS_SUCCESS;
- Irp->IoStatus.Information = sizeof(USHORT) + name->NameLength;
+ Irp->IoStatus.Information = FIELD_OFFSET(MOUNTDEV_NAME, Name) + name->NameLength;
IoCompleteRequest(Irp, IO_NO_INCREMENT);
goto SetStatusAndReturn;
}