mka: Fix length when encoding SAK-use
authorSabrina Dubroca <sd@queasysnail.net>
Tue, 19 Jul 2016 09:56:53 +0000 (11:56 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 7 Aug 2016 08:32:23 +0000 (11:32 +0300)
The room we actually use is length. This could also mess up the
receiver, since it will advance by the actual length (as indicated by
the parameter body's length), which could differ from the offset at
which we stored the next item.

Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
src/pae/ieee802_1x_kay.c

index 66972fc..d0c3125 100644 (file)
@@ -1156,7 +1156,7 @@ ieee802_1x_mka_encode_sak_use_body(
        u32 pn = 1;
 
        length = ieee802_1x_mka_get_sak_use_length(participant);
-       body = wpabuf_put(buf, sizeof(struct ieee802_1x_mka_sak_use_body));
+       body = wpabuf_put(buf, length);
 
        body->type = MKA_SAK_USE;
        set_mka_param_body_len(body, length - MKA_HDR_LEN);