efivar/dp_h-check-_ucs2size-in-format_ucs2.patch

27 lines
859 B
Diff
Raw Permalink Normal View History

From 3f233dd9c8cbb267b2cf931c6191e650e8ab8a5f Mon Sep 17 00:00:00 2001
From: Qiumiao Zhang <zhangqiumiao1@huawei.com>
Date: Sat, 26 Aug 2023 14:36:24 +0800
Subject: [PATCH] dp.h: check _ucs2size in format_ucs2()
Signed-off-by: Qiumiao Zhang <zhangqiumiao1@huawei.com>
---
src/dp.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/dp.h b/src/dp.h
index 8290cc1..27f7650 100644
--- a/src/dp.h
+++ b/src/dp.h
@@ -123,7 +123,7 @@ format_vendor_helper(unsigned char *buf, size_t size, char *label,
uint16_t *_ucs2buf; \
uint32_t _ucs2size = sizeof(uint16_t) * len; \
_ucs2buf = alloca(_ucs2size); \
- if (_ucs2buf == NULL) \
+ if (_ucs2buf == NULL || _ucs2size < sizeof(uint16_t)) \
return -1; \
memset(_ucs2buf, '\0', _ucs2size); \
memcpy(_ucs2buf, str, _ucs2size - sizeof(uint16_t)); \
--
2.23.0