If a user tries to configure publication of a model with an appkey that
is not bound to that model, an error should be returned.
---
mesh/model.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/mesh/model.c b/mesh/model.c
index 82078ed85..46ead30ac 100644
--- a/mesh/model.c
+++ b/mesh/model.c
@@ -1063,7 +1063,8 @@ int mesh_model_pub_set(struct mesh_node *node, uint16_t addr, uint32_t id,
if (!mod->pub_enabled || (mod->cbs && !(mod->cbs->pub)))
return MESH_STATUS_INVALID_PUB_PARAM;
- if (!appkey_have_key(node_get_net(node), idx))
+ if (!appkey_have_key(node_get_net(node), idx) ||
+ !has_binding(mod->bindings, idx))
return MESH_STATUS_INVALID_APPKEY;
/*
--
2.20.1