* Wed May 08 2024 Phil Sutter <psutter@redhat.com> [1.2.6-3.el9]
- tests: Fix objref test case (Phil Sutter) [RHEL-28515]
- expr: Respect data_len when setting attributes (Phil Sutter) [RHEL-28515]
- obj: Respect data_len when setting attributes (Phil Sutter) [RHEL-28515]
- utils: Introduce and use nftnl_set_str_attr() (Phil Sutter) [RHEL-28515]
- obj: Enforce attr_policy compliance in nftnl_obj_set_data() (Phil Sutter) [RHEL-28515]
- obj: Introduce struct obj_ops::attr_policy (Phil Sutter) [RHEL-28515]
- obj: Call obj_ops::set with legal attributes only (Phil Sutter) [RHEL-28515]
- obj: Repurpose struct obj_ops::max_attr field (Phil Sutter) [RHEL-28515]
- obj: Return value on setters (Phil Sutter) [RHEL-28515]
- object: getters take const struct (Phil Sutter) [RHEL-28515]
- utils: Fix for wrong variable use in nftnl_assert_validate() (Phil Sutter) [RHEL-28515]
- obj: synproxy: Use memcpy() to handle potentially unaligned data (Phil Sutter) [RHEL-28515]
- obj: Do not call nftnl_obj_set_data() with zero data_len (Phil Sutter) [RHEL-28515]
- table: Validate NFTNL_TABLE_OWNER, too (Phil Sutter) [RHEL-28515]
- set: Validate NFTNL_SET_ID, too (Phil Sutter) [RHEL-28515]
- obj: Validate NFTNL_OBJ_TYPE, too (Phil Sutter) [RHEL-28515]
- flowtable: Validate NFTNL_FLOWTABLE_SIZE, too (Phil Sutter) [RHEL-28515]
- table: Validate NFTNL_TABLE_USE, too (Phil Sutter) [RHEL-28515]
- chain: Validate NFTNL_CHAIN_USE, too (Phil Sutter) [RHEL-28515]
- expr: Enforce attr_policy compliance in nftnl_expr_set() (Phil Sutter) [RHEL-28515]
- expr: Introduce struct expr_ops::attr_policy (Phil Sutter) [RHEL-28515]
- include: Sync nf_log.h with kernel headers (Phil Sutter) [RHEL-28515]
- expr: Call expr_ops::set with legal types only (Phil Sutter) [RHEL-28515]
- expr: Repurpose struct expr_ops::max_attr field (Phil Sutter) [RHEL-28515]
- udata: incorrect userdata buffer size validation (Phil Sutter) [RHEL-28515]
- obj: ct_timeout: setter checks for timeout array boundaries (Phil Sutter) [RHEL-28515]
- set_elem: use nftnl_data_cpy() in NFTNL_SET_ELEM_{KEY,KEY_END,DATA} (Phil Sutter) [RHEL-28515]
- set: buffer overflow in NFTNL_SET_DESC_CONCAT setter (Phil Sutter) [RHEL-28515]
- expr: fix buffer overflows in data value setters (Phil Sutter) [RHEL-28515]
Resolves: RHEL-28515
50 lines
1.8 KiB
Diff
50 lines
1.8 KiB
Diff
From c0bdff70b2188ee6ab9375333cdaac39abfaeb8c Mon Sep 17 00:00:00 2001
|
|
From: Phil Sutter <psutter@redhat.com>
|
|
Date: Wed, 8 May 2024 22:39:40 +0200
|
|
Subject: [PATCH] utils: Fix for wrong variable use in nftnl_assert_validate()
|
|
|
|
JIRA: https://issues.redhat.com/browse/RHEL-28515
|
|
Upstream Status: libnftnl commit 8b9b16b3658ed035523156198798b5f29c808c78
|
|
|
|
commit 8b9b16b3658ed035523156198798b5f29c808c78
|
|
Author: Phil Sutter <phil@nwl.cc>
|
|
Date: Thu Mar 7 13:59:00 2024 +0100
|
|
|
|
utils: Fix for wrong variable use in nftnl_assert_validate()
|
|
|
|
This worked by accident as all callers passed a local variable 'attr' as
|
|
parameter '_attr'.
|
|
|
|
Fixes: 7756d31990cd4 ("src: add assertion infrastructure to validate attribute types")
|
|
Signed-off-by: Phil Sutter <phil@nwl.cc>
|
|
|
|
Signed-off-by: Phil Sutter <psutter@redhat.com>
|
|
---
|
|
include/utils.h | 7 +++++--
|
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/include/utils.h b/include/utils.h
|
|
index 8af5a8e..ca12d25 100644
|
|
--- a/include/utils.h
|
|
+++ b/include/utils.h
|
|
@@ -37,9 +37,9 @@ void __nftnl_assert_fail(uint16_t attr, const char *filename, int line);
|
|
#define nftnl_assert_validate(data, _validate_array, _attr, _data_len) \
|
|
({ \
|
|
if (!data) \
|
|
- __nftnl_assert_fail(attr, __FILE__, __LINE__); \
|
|
+ __nftnl_assert_fail(_attr, __FILE__, __LINE__); \
|
|
if (_validate_array[_attr]) \
|
|
- nftnl_assert(data, attr, _validate_array[_attr] == _data_len); \
|
|
+ nftnl_assert(data, _attr, _validate_array[_attr] == _data_len); \
|
|
})
|
|
|
|
void __nftnl_assert_attr_exists(uint16_t attr, uint16_t attr_max,
|
|
@@ -98,4 +98,7 @@ int nftnl_fprintf(FILE *fpconst, const void *obj, uint32_t cmd, uint32_t type,
|
|
uint32_t cmd, uint32_t type,
|
|
uint32_t flags));
|
|
|
|
+int nftnl_set_str_attr(const char **dptr, uint32_t *flags,
|
|
+ uint16_t attr, const void *data, uint32_t data_len);
|
|
+
|
|
#endif
|