From c4058f96c6a55e4fcd49d4380ac07b5466ec01c0 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Fri, 11 Jun 2021 17:02:01 +0200 Subject: netlink_delinearize: Fix suspicious calloc() call Parameter passed to sizeof() was wrong. While being at it, replace the whole call with xmalloc_array() which takes care of error checking. Fixes: 913979f882d13 ("src: add expression handler hashtable") Signed-off-by: Phil Sutter --- src/netlink_delinearize.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/netlink_delinearize.c b/src/netlink_delinearize.c index a71d06d7..9a1cf3c4 100644 --- a/src/netlink_delinearize.c +++ b/src/netlink_delinearize.c @@ -1733,9 +1733,8 @@ void expr_handler_init(void) unsigned int i; uint32_t hash; - expr_handle_ht = calloc(NFT_EXPR_HSIZE, sizeof(expr_handle_ht)); - if (!expr_handle_ht) - memory_allocation_error(); + expr_handle_ht = xmalloc_array(NFT_EXPR_HSIZE, + sizeof(expr_handle_ht[0])); for (i = 0; i < array_size(netlink_parsers); i++) { hash = djb_hash(netlink_parsers[i].name) % NFT_EXPR_HSIZE; -- cgit v1.2.3