]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
wlantest: Fix mgmt CCMP decrypt to not crash on failures
authorJouni Malinen <j@w1.fi>
Fri, 12 Nov 2010 21:28:43 +0000 (23:28 +0200)
committerJouni Malinen <j@w1.fi>
Fri, 12 Nov 2010 21:28:43 +0000 (23:28 +0200)
wlantest/rx_mgmt.c

index 1b9e041e76517ed824497d48f59173bcd1258f70..53a6396c8d43b1c3f74f40b40a77dc3a89d6fe05 100644 (file)
@@ -660,7 +660,7 @@ static u8 * mgmt_ccmp_decrypt(struct wlantest *wt, const u8 *data, size_t len,
        struct wlantest_sta *sta;
        const struct ieee80211_hdr *hdr;
        int keyid;
-       u8 *decrypted, *frame;
+       u8 *decrypted, *frame = NULL;
        u8 pn[6], *rsc;
 
        hdr = (const struct ieee80211_hdr *) data;
@@ -697,14 +697,14 @@ static u8 * mgmt_ccmp_decrypt(struct wlantest *wt, const u8 *data, size_t len,
        }
 
        decrypted = ccmp_decrypt(sta->ptk.tk1, hdr, data + 24, len - 24, dlen);
-       if (decrypted)
+       if (decrypted) {
                os_memcpy(rsc, pn, 6);
-
-       frame = os_malloc(24 + *dlen);
-       if (frame) {
-               os_memcpy(frame, data, 24);
-               os_memcpy(frame + 24, decrypted, *dlen);
-               *dlen += 24;
+               frame = os_malloc(24 + *dlen);
+               if (frame) {
+                       os_memcpy(frame, data, 24);
+                       os_memcpy(frame + 24, decrypted, *dlen);
+                       *dlen += 24;
+               }
        }
 
        os_free(decrypted);