struct xbee_atresp_hdr *atresp = (struct xbee_atresp_hdr *)frame;
int level = (intptr_t)arg;
uint8_t db;
- db = atresp->data[0];
+ /* XXX check if this test is correct */
+ if (len < sizeof(struct xbee_atresp_hdr) + sizeof(uint8_t))
+ return -1;
+
+ db = atresp->data[0];
power_levels[level].power_db = db;
power_levels[level].ttl = 2;
return 0;