aboutsummaryrefslogtreecommitdiff
path: root/src/cadet/gnunet-service-cadet-new_paths.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2017-01-22 20:21:35 +0100
committerChristian Grothoff <christian@grothoff.org>2017-01-22 20:21:35 +0100
commit03e7e0a5cd715d5ef4647ee8a40b10dead7c883f (patch)
tree496c691c558f2db7bbbf346d99aa15de7409e594 /src/cadet/gnunet-service-cadet-new_paths.c
parent88c8852e82b8c818571946ba4fec0e14c7239266 (diff)
downloadgnunet-03e7e0a5cd715d5ef4647ee8a40b10dead7c883f.tar.gz
gnunet-03e7e0a5cd715d5ef4647ee8a40b10dead7c883f.zip
really fully create path objects before calling even GCP_path_entry_add()
Diffstat (limited to 'src/cadet/gnunet-service-cadet-new_paths.c')
-rw-r--r--src/cadet/gnunet-service-cadet-new_paths.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/cadet/gnunet-service-cadet-new_paths.c b/src/cadet/gnunet-service-cadet-new_paths.c
index 86424968c..0fb558d81 100644
--- a/src/cadet/gnunet-service-cadet-new_paths.c
+++ b/src/cadet/gnunet-service-cadet-new_paths.c
@@ -369,6 +369,11 @@ extend_path (struct CadetPeerPath *path,
369 path->entries[old_len + i] = entry; 369 path->entries[old_len + i] = entry;
370 entry->peer = peers[i]; 370 entry->peer = peers[i];
371 entry->path = path; 371 entry->path = path;
372 }
373 for (i=num_peers-1;i >= 0;i--)
374 {
375 struct CadetPeerPathEntry *entry = path->entries[old_len + i];
376
372 GCP_path_entry_add (entry->peer, 377 GCP_path_entry_add (entry->peer,
373 entry, 378 entry,
374 old_len + i); 379 old_len + i);
@@ -497,6 +502,11 @@ GCPP_try_path_from_dht (const struct GNUNET_PeerIdentity *get_path,
497 path->entries[i] = entry; 502 path->entries[i] = entry;
498 entry->peer = cpath[i]; 503 entry->peer = cpath[i];
499 entry->path = path; 504 entry->path = path;
505 }
506 for (i=path->entries_length-1;i>=0;i--)
507 {
508 struct CadetPeerPathEntry *entry = path->entries[i];
509
500 GCP_path_entry_add (entry->peer, 510 GCP_path_entry_add (entry->peer,
501 entry, 511 entry,
502 i); 512 i);
@@ -615,6 +625,11 @@ GCPP_get_path_from_route (unsigned int path_length,
615 path->entries[i] = entry; 625 path->entries[i] = entry;
616 entry->peer = cpath[i]; 626 entry->peer = cpath[i];
617 entry->path = path; 627 entry->path = path;
628 }
629 for (int i=path_length-1;i>=0;i--)
630 {
631 struct CadetPeerPathEntry *entry = path->entries[i];
632
618 GCP_path_entry_add (entry->peer, 633 GCP_path_entry_add (entry->peer,
619 entry, 634 entry,
620 i); 635 i);