diff --git a/src/ap.c b/src/ap.c index 25d1b8a3..a6f8f306 100644 --- a/src/ap.c +++ b/src/ap.c @@ -2963,7 +2963,7 @@ static void ap_handle_new_station(struct ap_state *ap, struct l_genl_msg *msg) uint16_t type; uint16_t len; const void *data; - uint8_t mac[6]; + const uint8_t *mac = NULL; uint8_t *assoc_rsne = NULL; if (!l_genl_attr_init(&attr, msg)) @@ -2983,12 +2983,12 @@ static void ap_handle_new_station(struct ap_state *ap, struct l_genl_msg *msg) if (len != 6) goto cleanup; - memcpy(mac, data, 6); + mac = data; break; } } - if (!assoc_rsne) + if (!assoc_rsne || !mac) goto cleanup; /*