aboutsummaryrefslogtreecommitdiff
path: root/src/testbed/testbed_api.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-07-08 17:20:23 +0000
committerChristian Grothoff <christian@grothoff.org>2016-07-08 17:20:23 +0000
commitd8c53b12a818ff7cf82d06a1a69c395bdef85ee6 (patch)
tree0ebb0db416c157fcfde51a941185819dd12d51fd /src/testbed/testbed_api.c
parent5184c17d32a39c928c2a0fec3ee1ad098bbaa562 (diff)
downloadgnunet-d8c53b12a818ff7cf82d06a1a69c395bdef85ee6.tar.gz
gnunet-d8c53b12a818ff7cf82d06a1a69c395bdef85ee6.zip
-avoid calling memcpy() with NULL argument, even if len is 0
Diffstat (limited to 'src/testbed/testbed_api.c')
-rw-r--r--src/testbed/testbed_api.c42
1 files changed, 21 insertions, 21 deletions
diff --git a/src/testbed/testbed_api.c b/src/testbed/testbed_api.c
index 6fec82ab2..895800514 100644
--- a/src/testbed/testbed_api.c
+++ b/src/testbed/testbed_api.c
@@ -812,7 +812,7 @@ handle_peer_config (void *cls,
812 { 812 {
813 case GNUNET_TESTBED_PIT_IDENTITY: 813 case GNUNET_TESTBED_PIT_IDENTITY:
814 pinfo->result.id = GNUNET_new (struct GNUNET_PeerIdentity); 814 pinfo->result.id = GNUNET_new (struct GNUNET_PeerIdentity);
815 (void) memcpy (pinfo->result.id, 815 GNUNET_memcpy (pinfo->result.id,
816 &msg->peer_identity, 816 &msg->peer_identity,
817 sizeof (struct GNUNET_PeerIdentity)); 817 sizeof (struct GNUNET_PeerIdentity));
818 break; 818 break;
@@ -1143,9 +1143,9 @@ handle_link_controllers_result (void *cls,
1143 emsg = GNUNET_malloc (ntohs (msg->header.size) 1143 emsg = GNUNET_malloc (ntohs (msg->header.size)
1144 - sizeof (struct 1144 - sizeof (struct
1145 GNUNET_TESTBED_ControllerLinkResponse) + 1); 1145 GNUNET_TESTBED_ControllerLinkResponse) + 1);
1146 memcpy (emsg, &msg[1], ntohs (msg->header.size) 1146 GNUNET_memcpy (emsg,
1147 - sizeof (struct 1147 &msg[1],
1148 GNUNET_TESTBED_ControllerLinkResponse)); 1148 ntohs (msg->header.size)- sizeof (struct GNUNET_TESTBED_ControllerLinkResponse));
1149 event.details.operation_finished.emsg = emsg; 1149 event.details.operation_finished.emsg = emsg;
1150 } 1150 }
1151 else 1151 else
@@ -1279,9 +1279,9 @@ handle_barrier_status (void *cls,
1279 goto cleanup; 1279 goto cleanup;
1280 } 1280 }
1281 emsg = GNUNET_malloc (emsg_len); 1281 emsg = GNUNET_malloc (emsg_len);
1282 memcpy (emsg, 1282 GNUNET_memcpy (emsg,
1283 msg->data + name_len + 1, 1283 msg->data + name_len + 1,
1284 emsg_len); 1284 emsg_len);
1285 } 1285 }
1286 if (NULL == c->barrier_map) 1286 if (NULL == c->barrier_map)
1287 { 1287 {
@@ -1332,7 +1332,7 @@ GNUNET_TESTBED_queue_message_ (struct GNUNET_TESTBED_Controller *controller,
1332 env = GNUNET_MQ_msg_extra (m2, 1332 env = GNUNET_MQ_msg_extra (m2,
1333 size - sizeof (*m2), 1333 size - sizeof (*m2),
1334 type); 1334 type);
1335 memcpy (m2, msg, size); 1335 GNUNET_memcpy (m2, msg, size);
1336 GNUNET_free (msg); 1336 GNUNET_free (msg);
1337 GNUNET_MQ_send (controller->mq, 1337 GNUNET_MQ_send (controller->mq,
1338 env); 1338 env);
@@ -1370,9 +1370,9 @@ GNUNET_TESTBED_forward_operation_msg_ (struct GNUNET_TESTBED_Controller *control
1370 env = GNUNET_MQ_msg_extra (m2, 1370 env = GNUNET_MQ_msg_extra (m2,
1371 size - sizeof (*m2), 1371 size - sizeof (*m2),
1372 type); 1372 type);
1373 memcpy (m2, 1373 GNUNET_memcpy (m2,
1374 msg, 1374 msg,
1375 size); 1375 size);
1376 GNUNET_MQ_send (controller->mq, 1376 GNUNET_MQ_send (controller->mq,
1377 env); 1377 env);
1378 data = GNUNET_new (struct ForwardedOperationData); 1378 data = GNUNET_new (struct ForwardedOperationData);
@@ -1668,9 +1668,9 @@ GNUNET_TESTBED_controller_connect (struct GNUNET_TESTBED_Host *host,
1668 GNUNET_MESSAGE_TYPE_TESTBED_INIT); 1668 GNUNET_MESSAGE_TYPE_TESTBED_INIT);
1669 msg->host_id = htonl (GNUNET_TESTBED_host_get_id_ (host)); 1669 msg->host_id = htonl (GNUNET_TESTBED_host_get_id_ (host));
1670 msg->event_mask = GNUNET_htonll (controller->event_mask); 1670 msg->event_mask = GNUNET_htonll (controller->event_mask);
1671 memcpy (&msg[1], 1671 GNUNET_memcpy (&msg[1],
1672 controller_hostname, 1672 controller_hostname,
1673 slen); 1673 slen);
1674 GNUNET_MQ_send (controller->mq, 1674 GNUNET_MQ_send (controller->mq,
1675 env); 1675 env);
1676 return controller; 1676 return controller;
@@ -2392,7 +2392,7 @@ GNUNET_TESTBED_barrier_init_ (struct GNUNET_TESTBED_Controller *controller,
2392 barrier->cb = cb; 2392 barrier->cb = cb;
2393 barrier->cls = cls; 2393 barrier->cls = cls;
2394 barrier->echo = echo; 2394 barrier->echo = echo;
2395 (void) memcpy (&barrier->key, &key, sizeof (struct GNUNET_HashCode)); 2395 GNUNET_memcpy (&barrier->key, &key, sizeof (struct GNUNET_HashCode));
2396 GNUNET_assert (GNUNET_OK == 2396 GNUNET_assert (GNUNET_OK ==
2397 GNUNET_CONTAINER_multihashmap_put (controller->barrier_map, 2397 GNUNET_CONTAINER_multihashmap_put (controller->barrier_map,
2398 &barrier->key, 2398 &barrier->key,
@@ -2403,9 +2403,9 @@ GNUNET_TESTBED_barrier_init_ (struct GNUNET_TESTBED_Controller *controller,
2403 name_len, 2403 name_len,
2404 GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_INIT); 2404 GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_INIT);
2405 msg->quorum = (uint8_t) quorum; 2405 msg->quorum = (uint8_t) quorum;
2406 memcpy (msg->name, 2406 GNUNET_memcpy (msg->name,
2407 barrier->name, 2407 barrier->name,
2408 name_len); 2408 name_len);
2409 GNUNET_MQ_send (barrier->c->mq, 2409 GNUNET_MQ_send (barrier->c->mq,
2410 env); 2410 env);
2411 return barrier; 2411 return barrier;
@@ -2453,9 +2453,9 @@ GNUNET_TESTBED_barrier_cancel (struct GNUNET_TESTBED_Barrier *barrier)
2453 env = GNUNET_MQ_msg_extra (msg, 2453 env = GNUNET_MQ_msg_extra (msg,
2454 slen, 2454 slen,
2455 GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_CANCEL); 2455 GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_CANCEL);
2456 memcpy (msg->name, 2456 GNUNET_memcpy (msg->name,
2457 barrier->name, 2457 barrier->name,
2458 slen); 2458 slen);
2459 GNUNET_MQ_send (barrier->c->mq, 2459 GNUNET_MQ_send (barrier->c->mq,
2460 env); 2460 env);
2461 GNUNET_TESTBED_barrier_remove_ (barrier); 2461 GNUNET_TESTBED_barrier_remove_ (barrier);