@@ -777,11 +777,7 @@ static bool cfg_srv_pkt(uint16_t src, uint16_t dst, uint16_t app_idx,
break;
case OP_NODE_IDENTITY_SET:
- if (size != 3 || pkt[2] > 0x01)
- return true;
-
- n_idx = l_get_le16(pkt);
- if (n_idx > 0xfff)
+ if (size != 3)
return true;
/* Currently setting node identity not supported */
@@ -789,18 +785,15 @@ static bool cfg_srv_pkt(uint16_t src, uint16_t dst, uint16_t app_idx,
/* Fall Through */
case OP_NODE_IDENTITY_GET:
- if (size < 2)
+ if (opcode == OP_NODE_IDENTITY_GET && size != 2)
return true;
n_idx = l_get_le16(pkt);
- if (n_idx > 0xfff)
+ if (n_idx > NET_IDX_MAX)
return true;
n = mesh_model_opcode_set(OP_NODE_IDENTITY_STATUS, msg);
-
- status = mesh_net_get_identity_mode(net, n_idx, &state);
-
- msg[n++] = status;
+ msg[n++] = mesh_net_get_identity_mode(net, n_idx, &state);
l_put_le16(n_idx, msg + n);
n += 2;