From patchwork Mon Mar 4 12:26:05 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Lindner X-Patchwork-Id: 2768 Return-Path: Received: from nm21-vm2.bullet.mail.sg3.yahoo.com (nm21-vm2.bullet.mail.sg3.yahoo.com [106.10.151.33]) by open-mesh.org (Postfix) with ESMTPS id 07508600E75 for ; Mon, 4 Mar 2013 13:26:18 +0100 (CET) Received: from [106.10.166.119] by nm21.bullet.mail.sg3.yahoo.com with NNFMP; 04 Mar 2013 12:26:15 -0000 Received: from [106.10.167.219] by tm8.bullet.mail.sg3.yahoo.com with NNFMP; 04 Mar 2013 12:26:15 -0000 Received: from [127.0.0.1] by smtp192.mail.sg3.yahoo.com with NNFMP; 04 Mar 2013 12:26:15 -0000 X-Yahoo-Newman-Id: 567816.48549.bm@smtp192.mail.sg3.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: oHAc1cEVM1kYpHmQvNhr8GOl1L8HMi4aNeMDTDKv2ldB0Aa ncdVfo5SbEjrTFCN1ZYw0NCSLgS71T0A0IaoVyHsT9vqyfBlmRswgV2Gozr4 842YPh3ml2tau_PNMXiFOEcewU2eeOgHwsdVKAVJvILTwTVf4hpYKvhRI4oR D_vdnQB3poGNTyJL3gbHMO6IBrYM8G1Z4fGx_er.V.vZYxb7SXBE.GyN0EZ5 WLsZNlTaH7fbOkHT9xXeZQXGF0aW9mVcf.9Ib3d3VlhOW3Yz07VmpO.Pqkf7 eAqRANXYI35tCyla369zqaub9MAAFxoBBheSapI_SVXuB4hGKOID3zSGLFGw QJ8JBAnbZe_8XuSbw_GNFe1TSJvjG8mnH3lPE0_GhuLaO9bZ6sDnKwGjlXir csKYQu51ZRfMg5Fs2m7ZKkIxi4G52PdxzIHTablQfWowAwEI- X-Yahoo-SMTP: tW.h3tiswBBMXO2coYcbPigGD5Lt6zY_.Zc- Received: from localhost (lindner_marek@42.98.197.135 with plain) by smtp192.mail.sg3.yahoo.com with SMTP; 04 Mar 2013 04:26:15 -0800 PST From: Marek Lindner To: b.a.t.m.a.n@lists.open-mesh.org Date: Mon, 4 Mar 2013 20:26:05 +0800 Message-Id: <1362399965-4843-1-git-send-email-lindner_marek@yahoo.de> X-Mailer: git-send-email 1.7.10.4 Cc: Marek Lindner Subject: [B.A.T.M.A.N.] [PATCHv2] batman-adv: verify tt len does not exceed packet len X-BeenThere: b.a.t.m.a.n@lists.open-mesh.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: The list for a Better Approach To Mobile Ad-hoc Networking List-Id: The list for a Better Approach To Mobile Ad-hoc Networking List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Mar 2013 12:26:20 -0000 Signed-off-by: Marek Lindner --- v2: - simplified approach of same check bat_iv_ogm.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bat_iv_ogm.c b/bat_iv_ogm.c index 7654b76..2ce7b28 100644 --- a/bat_iv_ogm.c +++ b/bat_iv_ogm.c @@ -1297,7 +1297,8 @@ static int batadv_iv_ogm_receive(struct sk_buff *skb, batadv_ogm_packet = (struct batadv_ogm_packet *)packet_buff; /* unpack the aggregated packets and process them one by one */ - do { + while (batadv_iv_ogm_aggr_packet(buff_pos, packet_len, + batadv_ogm_packet->tt_num_changes)) { tt_buff = packet_buff + buff_pos + BATADV_OGM_HLEN; batadv_iv_ogm_process(ethhdr, batadv_ogm_packet, tt_buff, @@ -1308,8 +1309,7 @@ static int batadv_iv_ogm_receive(struct sk_buff *skb, packet_pos = packet_buff + buff_pos; batadv_ogm_packet = (struct batadv_ogm_packet *)packet_pos; - } while (batadv_iv_ogm_aggr_packet(buff_pos, packet_len, - batadv_ogm_packet->tt_num_changes)); + } kfree_skb(skb); return NET_RX_SUCCESS;