summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Library/BaseBmpSupportLib
diff options
context:
space:
mode:
authorRuiyu Ni <ruiyu.ni@intel.com>2018-06-25 15:35:06 +0800
committerRuiyu Ni <ruiyu.ni@intel.com>2018-07-03 11:21:38 +0800
commit51fe5b5140ba9ecb168fb03da328983355880c7a (patch)
tree01ff5412fdb0c94cbfa17c795cb000140187c170 /MdeModulePkg/Library/BaseBmpSupportLib
parent2a9e1b97c9a86a736707388fe5e22cb75c378b35 (diff)
downloadedk2-51fe5b5140ba9ecb168fb03da328983355880c7a.tar.gz
edk2-51fe5b5140ba9ecb168fb03da328983355880c7a.tar.bz2
edk2-51fe5b5140ba9ecb168fb03da328983355880c7a.zip
MdeModulePkg/BmpSupportLib: Check PixelHeight/PixelWidth against 0
The patch adds check logic to make sure that for a input BMP file, the width or height is not 0; for a input GOP blt buffer, the width or height is not 0. Otherwise, UNSUPPORTED status is returned. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com>
Diffstat (limited to 'MdeModulePkg/Library/BaseBmpSupportLib')
-rw-r--r--MdeModulePkg/Library/BaseBmpSupportLib/BmpSupportLib.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/MdeModulePkg/Library/BaseBmpSupportLib/BmpSupportLib.c b/MdeModulePkg/Library/BaseBmpSupportLib/BmpSupportLib.c
index 2c23e2c61c..6196262d14 100644
--- a/MdeModulePkg/Library/BaseBmpSupportLib/BmpSupportLib.c
+++ b/MdeModulePkg/Library/BaseBmpSupportLib/BmpSupportLib.c
@@ -148,6 +148,11 @@ TranslateBmpToGopBlt (
return RETURN_UNSUPPORTED;
}
+ if ((BmpHeader->PixelHeight == 0) || (BmpHeader->PixelWidth == 0)) {
+ DEBUG ((DEBUG_ERROR, "TranslateBmpToGopBlt: BmpHeader->PixelHeight or BmpHeader->PixelWidth is 0.\n"));
+ return RETURN_UNSUPPORTED;
+ }
+
//
// Only support BITMAPINFOHEADER format.
// BITMAPFILEHEADER + BITMAPINFOHEADER = BMP_IMAGE_HEADER
@@ -484,6 +489,10 @@ TranslateGopBltToBmp (
return RETURN_INVALID_PARAMETER;
}
+ if ((PixelHeight == 0) || (PixelWidth == 0)) {
+ return RETURN_UNSUPPORTED;
+ }
+
//
// Allocate memory for BMP file.
//