[linux-next] LinuxNextTracking branch, master, updated. next-20161205

batman at open-mesh.org batman at open-mesh.org
Tue Dec 6 00:15:41 CET 2016


The following commit has been merged in the master branch:
commit c2d0f48a13e53b4747704c9e692f5e765e52041a
Author: Sven Eckelmann <sven at narfation.org>
Date:   Wed Nov 30 21:47:09 2016 +0100

    batman-adv: Check for alloc errors when preparing TT local data
    
    batadv_tt_prepare_tvlv_local_data can fail to allocate the memory for the
    new TVLV block. The caller is informed about this problem with the returned
    length of 0. Not checking this value results in an invalid memory access
    when either tt_data or tt_change is accessed.
    
    Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
    Fixes: 7ea7b4a14275 ("batman-adv: make the TT CRC logic VLAN specific")
    Signed-off-by: Sven Eckelmann <sven at narfation.org>
    Signed-off-by: Simon Wunderlich <sw at simonwunderlich.de>

diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index 7f66309..0dc85eb 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -3282,7 +3282,7 @@ static bool batadv_send_my_tt_response(struct batadv_priv *bat_priv,
 							     &tvlv_tt_data,
 							     &tt_change,
 							     &tt_len);
-		if (!tt_len)
+		if (!tt_len || !tvlv_len)
 			goto unlock;
 
 		/* Copy the last orig_node's OGM buffer */
@@ -3300,7 +3300,7 @@ static bool batadv_send_my_tt_response(struct batadv_priv *bat_priv,
 							     &tvlv_tt_data,
 							     &tt_change,
 							     &tt_len);
-		if (!tt_len)
+		if (!tt_len || !tvlv_len)
 			goto out;
 
 		/* fill the rest of the tvlv with the real TT entries */

-- 
LinuxNextTracking


More information about the linux-merge mailing list