27 lines
859 B
Diff
27 lines
859 B
Diff
|
|
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
|
||
|
|
|