diff options
author | Christian Grothoff <christian@grothoff.org> | 2017-01-22 20:21:35 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2017-01-22 20:21:35 +0100 |
commit | 03e7e0a5cd715d5ef4647ee8a40b10dead7c883f (patch) | |
tree | 496c691c558f2db7bbbf346d99aa15de7409e594 /src/cadet/gnunet-service-cadet-new_paths.c | |
parent | 88c8852e82b8c818571946ba4fec0e14c7239266 (diff) | |
download | gnunet-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.c | 15 |
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); |