When deleting a non-existing key, first check that it doesn't exist (and
return success), then verify it's not the last key we have.
Change-Id: I70f686bb3ab175270d6d4cb4059d7408ff34ec49
Signed-off-by: anuj.bhumiya <anuj.bhumiya@samsung.com>
if (!net)
return MESH_STATUS_UNSPECIFIED_ERROR;
- /* Cannot remove primary key */
- if (l_queue_length(net->subnets) <= 1)
- return MESH_STATUS_CANNOT_REMOVE;
-
subnet = l_queue_find(net->subnets, match_key_index,
L_UINT_TO_PTR(idx));
if (!subnet)
return MESH_STATUS_SUCCESS;
+ /* Cannot remove primary key */
+ if (l_queue_length(net->subnets) <= 1)
+ return MESH_STATUS_CANNOT_REMOVE;
+
/* Delete associated app keys */
appkey_delete_bound_keys(net, idx);