mka: Add error handling around ieee802_1x_kay_move_live_peer()
authorSabrina Dubroca <sd@queasysnail.net>
Tue, 19 Jul 2016 09:56:55 +0000 (11:56 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 7 Aug 2016 08:36:17 +0000 (11:36 +0300)
ieee802_1x_kay_move_live_peer() can fail. In that case, we should not
proceed.

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

index bb2becd..c1e6b31 100644 (file)
@@ -3018,9 +3018,12 @@ static int ieee802_1x_kay_decode_mkpdu(struct ieee802_1x_kay *kay,
                }
                if (ieee802_1x_kay_is_in_potential_peer(
                            participant, participant->current_peer_id.mi)) {
-                       ieee802_1x_kay_move_live_peer(
-                               participant, participant->current_peer_id.mi,
-                               be_to_host32(participant->current_peer_id.mn));
+                       if (!ieee802_1x_kay_move_live_peer(
+                                   participant,
+                                   participant->current_peer_id.mi,
+                                   be_to_host32(participant->
+                                                current_peer_id.mn)))
+                               return -1;
                        ieee802_1x_kay_elect_key_server(participant);
                        ieee802_1x_kay_decide_macsec_use(participant);
                }