]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg/UdfDxe: Correct behavior for UdfSetPosition()
authorHao Wu <hao.a.wu@intel.com>
Mon, 8 Oct 2018 06:04:48 +0000 (14:04 +0800)
committerHao Wu <hao.a.wu@intel.com>
Tue, 23 Oct 2018 06:24:17 +0000 (14:24 +0800)
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 <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Paulo Alcantara <palcantara@suse.de>
Acked-by: Star Zeng <star.zeng@intel.com>
MdeModulePkg/Universal/Disk/UdfDxe/File.c

index 4aa0594f1a9e9d87f3252382b91714bb75efa611..45ce5e51f865122f9eb230b7573f0023b5913bca 100644 (file)
@@ -722,7 +722,7 @@ UdfSetPosition (
     // set to the EOF.\r
     //\r
     if (Position == 0xFFFFFFFFFFFFFFFF) {\r
-      PrivFileData->FilePosition = PrivFileData->FileSize - 1;\r
+      PrivFileData->FilePosition = PrivFileData->FileSize;\r
     } else {\r
       PrivFileData->FilePosition = Position;\r
     }\r