From: Thomas Haller Date: Mon, 24 Nov 2014 18:04:50 +0000 (+0100) Subject: cache: assert in nl_cache_mngt_register() for valid oo_keygen() function X-Git-Tag: libnl3_2_26rc1~26 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=77771ba26f727822274f68cedb2251abc91b39ae;p=libnl cache: assert in nl_cache_mngt_register() for valid oo_keygen() function oo_keygen() requires oo_compare(). Assert in nl_cache_mngt_register(). http://lists.infradead.org/pipermail/libnl/2014-November/001759.html Acked-by: Thomas Graf Signed-off-by: Thomas Haller --- diff --git a/lib/cache_mngt.c b/lib/cache_mngt.c index 9f8a742..8ed2129 100644 --- a/lib/cache_mngt.c +++ b/lib/cache_mngt.c @@ -254,6 +254,9 @@ int nl_cache_mngt_register(struct nl_cache_ops *ops) if (!ops->co_name || !ops->co_obj_ops) return -NLE_INVAL; + /* oo_keygen() also needs oo_compare() */ + BUG_ON (ops->co_obj_ops->oo_keygen && !ops->co_obj_ops->oo_compare); + nl_write_lock(&cache_ops_lock); if (__nl_cache_ops_lookup(ops->co_name)) { nl_write_unlock(&cache_ops_lock);