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 <phil@xxxxxx> --- 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 a71d06d7fe12f..9a1cf3c4f7d90 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; -- 2.31.1