From 6df465b21213ac7c8df78c8db261b064aa6aa56c Mon Sep 17 00:00:00 2001 From: Hao Wu Date: Mon, 8 Oct 2018 14:04:48 +0800 Subject: [PATCH] MdeModulePkg/UdfDxe: Correct behavior for UdfSetPosition() REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1252 Calling the 'SetPosition' service of the EFI_FILE_PROTOCOL with 'Position' equals to 0xFFFFFFFFFFFFFFFF for a file is to set the current position to the end of the file. But the current implementation of function UdfSetPosition() is to set it to the last byte (not EOF). This commit will resolve this issue. Cc: Ruiyu Ni Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Hao Wu Reviewed-by: Paulo Alcantara Acked-by: Star Zeng --- MdeModulePkg/Universal/Disk/UdfDxe/File.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MdeModulePkg/Universal/Disk/UdfDxe/File.c b/MdeModulePkg/Universal/Disk/UdfDxe/File.c index 4aa0594f1a..45ce5e51f8 100644 --- a/MdeModulePkg/Universal/Disk/UdfDxe/File.c +++ b/MdeModulePkg/Universal/Disk/UdfDxe/File.c @@ -722,7 +722,7 @@ UdfSetPosition ( // set to the EOF. // if (Position == 0xFFFFFFFFFFFFFFFF) { - PrivFileData->FilePosition = PrivFileData->FileSize - 1; + PrivFileData->FilePosition = PrivFileData->FileSize; } else { PrivFileData->FilePosition = Position; }