From c0e97e517a3bb161ea4a6f35fd52a489dc1995d9 Mon Sep 17 00:00:00 2001 From: Frederic Suter Date: Mon, 27 Feb 2017 16:30:35 +0100 Subject: [PATCH] check that max is not -1 befor using it as index --- examples/msg/dht-pastry/dht-pastry.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/examples/msg/dht-pastry/dht-pastry.c b/examples/msg/dht-pastry/dht-pastry.c index b288b070be..a66a9b1b67 100644 --- a/examples/msg/dht-pastry/dht-pastry.c +++ b/examples/msg/dht-pastry/dht-pastry.c @@ -399,19 +399,21 @@ static void handle_task(node_t node, msg_task_t task) { if (min<0 || max>=NAMESPACE_SIZE) { node->namespace_set[i] = curr_namespace_set[j]; j++; - } else if (curr_namespace_set[j] == -1) { - node->namespace_set[i] = task_namespace_set[max]; - max++; - } else if (curr_namespace_set[j] == task_namespace_set[max]) { - node->namespace_set[i] = curr_namespace_set[j]; - j++; - max++; - } else if (curr_namespace_set[j] < task_namespace_set[max]) { - node->namespace_set[i] = curr_namespace_set[j]; - j++; - } else { - node->namespace_set[i] = task_namespace_set[max]; - max++; + } else if (max >= 0){ + if (curr_namespace_set[j] == -1) { + node->namespace_set[i] = task_namespace_set[max]; + max++; + } else if (curr_namespace_set[j] == task_namespace_set[max]) { + node->namespace_set[i] = curr_namespace_set[j]; + j++; + max++; + } else if (curr_namespace_set[j] < task_namespace_set[max]) { + node->namespace_set[i] = curr_namespace_set[j]; + j++; + } else { + node->namespace_set[i] = task_namespace_set[max]; + max++; + } } } -- 2.20.1