summaryrefslogtreecommitdiffstats
path: root/src/tlv_types.c
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2013-03-26 04:00:47 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2013-03-26 04:06:55 +0100
commit79c6fd3f14b51d37c45b78d2a4f511927b9eac94 (patch)
treeee1b8fde2618541c09bc99227c78532e7c54b0d1 /src/tlv_types.c
parent3dbdeacfdb3adbcaecb63a9805c5c45ec93cb8c7 (diff)
downloadbabel-79c6fd3f14b51d37c45b78d2a4f511927b9eac94.tar
babel-79c6fd3f14b51d37c45b78d2a4f511927b9eac94.zip
Fix handling of announces without payload
Diffstat (limited to 'src/tlv_types.c')
-rw-r--r--src/tlv_types.c8
1 files changed, 4 insertions, 4 deletions
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);
}