aboutsummaryrefslogtreecommitdiff
path: root/src/testbed/gnunet-service-testbed.c
diff options
context:
space:
mode:
authorSree Harsha Totakura <totakura@in.tum.de>2012-10-17 15:26:13 +0000
committerSree Harsha Totakura <totakura@in.tum.de>2012-10-17 15:26:13 +0000
commit58a9e9e741a6ae984d1e8332f905eb0c6fa7bfb3 (patch)
tree201bf1cb1aa7096c47594c96948a9e01411341ee /src/testbed/gnunet-service-testbed.c
parent98353d5eef5165351ce9e3d0e20778aa8bdcac5b (diff)
downloadgnunet-58a9e9e741a6ae984d1e8332f905eb0c6fa7bfb3.tar.gz
gnunet-58a9e9e741a6ae984d1e8332f905eb0c6fa7bfb3.zip
fixs for crash while adding slaves with id greater than 9
Diffstat (limited to 'src/testbed/gnunet-service-testbed.c')
-rw-r--r--src/testbed/gnunet-service-testbed.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/testbed/gnunet-service-testbed.c b/src/testbed/gnunet-service-testbed.c
index 42a15c627..4b05eb378 100644
--- a/src/testbed/gnunet-service-testbed.c
+++ b/src/testbed/gnunet-service-testbed.c
@@ -996,13 +996,16 @@ route_list_add (struct Route *route)
996static void 996static void
997slave_list_add (struct Slave *slave) 997slave_list_add (struct Slave *slave)
998{ 998{
999 uint32_t orig_size;
1000
1001 orig_size = slave_list_size;
999 if (slave->host_id >= slave_list_size) 1002 if (slave->host_id >= slave_list_size)
1000 { 1003 {
1004 while (slave->host_id >= slave_list_size)
1005 slave_list_size += LIST_GROW_STEP;
1001 slave_list = 1006 slave_list =
1002 TESTBED_realloc (slave_list, sizeof (struct Slave *) * slave_list_size, 1007 TESTBED_realloc (slave_list, sizeof (struct Slave *) * orig_size,
1003 sizeof (struct Slave *) * (slave_list_size + 1008 sizeof (struct Slave *) * slave_list_size);
1004 LIST_GROW_STEP));
1005 slave_list_size += LIST_GROW_STEP;
1006 } 1009 }
1007 GNUNET_assert (NULL == slave_list[slave->host_id]); 1010 GNUNET_assert (NULL == slave_list[slave->host_id]);
1008 slave_list[slave->host_id] = slave; 1011 slave_list[slave->host_id] = slave;