|
@@ -416,7 +416,7 @@ static u8 * wpa_ft_gtk_subelem(struct wpa_state_machine *sm, size_t *len)
|
|
pad_len = 8 - pad_len;
|
|
pad_len = 8 - pad_len;
|
|
if (key_len + pad_len < 16)
|
|
if (key_len + pad_len < 16)
|
|
pad_len += 8;
|
|
pad_len += 8;
|
|
- if (pad_len) {
|
|
+ if (pad_len && key_len < sizeof(keybuf)) {
|
|
os_memcpy(keybuf, gsm->GTK[gsm->GN - 1], key_len);
|
|
os_memcpy(keybuf, gsm->GTK[gsm->GN - 1], key_len);
|
|
os_memset(keybuf + key_len, 0, pad_len);
|
|
os_memset(keybuf + key_len, 0, pad_len);
|
|
keybuf[key_len] = 0xdd;
|
|
keybuf[key_len] = 0xdd;
|