summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHao Wu <hao.a.wu@intel.com>2018-10-30 09:06:48 +0800
committerHao Wu <hao.a.wu@intel.com>2018-10-31 08:57:04 +0800
commit542b03d0a090d10d39da79a881787cbb013f1754 (patch)
treefde398d8fac15d3d1f5acd5919ef203c377f0b6e
parenta0f01e8a22e15000e564f09e82eae13d7127be3c (diff)
downloadedk2-542b03d0a090d10d39da79a881787cbb013f1754.zip
edk2-542b03d0a090d10d39da79a881787cbb013f1754.tar.gz
edk2-542b03d0a090d10d39da79a881787cbb013f1754.tar.bz2
MdeModulePkg/UdfDxe: Check 'Component Type' within a Path Component
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1279 According to the ECMA-167 standard (3rd Edition - June 1997), Section 14.16.1.1, valid values are 1 to 5. All other values will be treated as a corrupted volume. This commit will add such check within function ResolveSymlink(). 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> Reviewed-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
-rw-r--r--MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
index b9ebddf..fed3da1 100644
--- a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
+++ b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
@@ -2257,6 +2257,13 @@ ResolveSymlink (
}
FileName[Index] = L'\0';
break;
+ default:
+ //
+ // According to the ECMA-167 standard (3rd Edition - June 1997), Section
+ // 14.16.1.1, all other values are reserved.
+ //
+ Status = EFI_VOLUME_CORRUPTED;
+ goto Error_Find_File;
}
//