open-iscsi/0028-iscsiadm-buffer-overflow-regression-when-discovering.patch
Wenchao Hao c9c0567638 Remove patched which should not apply
0027-use-openssl-for-random-data-generation.patch and
0028-drop-unused-get_random_bytes.patch can be considered as
feature patches which should not apply

0029-Preparing-for-version-2.1.2.patch should keepace with tar package

Signed-off-by: Wenchao Hao <haowenchao@huawei.com>
2020-11-20 16:29:02 +08:00

29 lines
1010 B
Diff

From 0c032f5f4f826199868099f0af10c4a913209573 Mon Sep 17 00:00:00 2001
From: Chris Leech <cleech@redhat.com>
Date: Mon, 14 Sep 2020 14:09:56 -0700
Subject: [PATCH 6/8] iscsiadm buffer overflow regression when discovering many
targets at once
int_list type didn't zero the output string, so as the rec struct was reused
repeatedly during discovery it would keep growing with repeated values
triggering a strcat buffer overflow
---
usr/idbm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/usr/idbm.c b/usr/idbm.c
index 6309be0..42c2699 100644
--- a/usr/idbm.c
+++ b/usr/idbm.c
@@ -169,6 +169,7 @@ static struct idbm *db;
#define __recinfo_int_list(_key,_info,_rec,_name,_show,_tbl,_n,_mod) do { \
_info[_n].type = TYPE_INT_LIST; \
strlcpy(_info[_n].name, _key, NAME_MAXVAL); \
+ _info[_n].value[0] = '\0'; \
for (unsigned long _i = 0; _i < ARRAY_LEN(_rec->_name); _i++) { \
if (_rec->_name[_i] != (unsigned)~0) { \
for (unsigned long _j = 0; _j < ARRAY_LEN(_tbl); _j++) { \
--
1.8.3.1