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: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
This commit is contained in:
Antonio Quartulli 2011-10-12 14:54:50 +02:00 committed by Sven Eckelmann
parent be7af5cf9c
commit eb7e2a1e20

View File

@ -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;