1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-15 17:43:51 +01:00

Merge pull request #21602 from Teufelchen1/fix/l2filter

net/l2filter: fix incorrect length check
This commit is contained in:
Marian Buschsieweke 2025-07-15 11:28:12 +00:00 committed by GitHub
commit 40e5627981
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 3 deletions

View File

@ -83,8 +83,10 @@ typedef struct {
* @pre @p addr != NULL
* @pre @p addr_maxlen <= @ref CONFIG_L2FILTER_ADDR_MAXLEN
*
* @return 0 on success
* @return -ENOMEM if no empty slot left in list
* @retval 0 on success
* @retval -ENOMEM if no empty slot left in list
* @retval -EINVAL if `addr_len > CONFIG_L2FILTER_ADDR_MAXLEN` **AND** `NDEBUG` is enabled.
* Otherwise this condition will trip an `assert()`.
*/
int l2filter_add(l2filter_t *list, const void *addr, size_t addr_len);

View File

@ -44,7 +44,11 @@ void l2filter_init(l2filter_t *list)
int l2filter_add(l2filter_t *list, const void *addr, size_t addr_len)
{
assert(list && addr && (addr_len <= CONFIG_L2FILTER_ADDR_MAXLEN));
assert(list && addr);
if (addr_len > CONFIG_L2FILTER_ADDR_MAXLEN) {
assert(0);
return -EINVAL;
}
int res = -ENOMEM;