Commit eb7e2a1e authored by Antonio Quartulli's avatar Antonio Quartulli Committed by Sven Eckelmann
Browse files

batman-adv: use orig_hash_find() instead of get_orig_node() in TT code



get_orig_node() tries to retrieve an orig_node object based on a mac address
and creates it if not present. This is not the wanted behaviour in the
translation table code as we don't want to create new orig_code objects but
expect a NULL pointer if the object does not exist.

Reported-by: default avatarSimon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-off-by: default avatarAntonio Quartulli <ordex@autistici.org>
Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
parent be7af5cf
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1188,11 +1188,11 @@ static bool send_other_tt_response(struct bat_priv *bat_priv,
		(tt_request->flags & TT_FULL_TABLE ? 'F' : '.'));

	/* Let's get the orig node of the REAL destination */
	req_dst_orig_node = get_orig_node(bat_priv, tt_request->dst);
	req_dst_orig_node = orig_hash_find(bat_priv, tt_request->dst);
	if (!req_dst_orig_node)
		goto out;

	res_dst_orig_node = get_orig_node(bat_priv, tt_request->src);
	res_dst_orig_node = orig_hash_find(bat_priv, tt_request->src);
	if (!res_dst_orig_node)
		goto out;

@@ -1318,7 +1318,7 @@ static bool send_my_tt_response(struct bat_priv *bat_priv,
	my_ttvn = (uint8_t)atomic_read(&bat_priv->ttvn);
	req_ttvn = tt_request->ttvn;

	orig_node = get_orig_node(bat_priv, tt_request->src);
	orig_node = orig_hash_find(bat_priv, tt_request->src);
	if (!orig_node)
		goto out;