From 79c6fd3f14b51d37c45b78d2a4f511927b9eac94 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 26 Mar 2013 04:00:47 +0100 Subject: Fix handling of announces without payload --- src/tlv_types.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/tlv_types.c') diff --git a/src/tlv_types.c b/src/tlv_types.c index 1cc1c3a..d3f2d92 100644 --- a/src/tlv_types.c +++ b/src/tlv_types.c @@ -195,16 +195,16 @@ static void handle_tlv_update(gmrf_t *gmrf, gmrf_context_t *ctx, const gp_babel_ } } - if (!announce->data) { + if ((tlv_update->flags & GP_BABEL_UPDATE_FLAG_HAS_PAYLOAD) && !announce->payload) { if (len > sizeof(gp_babel_tlv_update_t)) { announce->len = len - sizeof(gp_babel_tlv_update_t); - announce->data = malloc(announce->len); - memcpy(announce->data, tlv_update->data, announce->len); + announce->payload = malloc(announce->len); + memcpy(announce->payload, tlv_update->payload, announce->len); } else { announce->len = 0xff; - /* request data */ + /* request payload */ //if (nexthop) // gp_babel_send_announce_request(arg->iface, neigh, announce->node, announce->type, announce->key, true); } -- cgit v1.2.3