diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-08-01 15:59:37 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-08-03 00:14:18 +0200 |
commit | 81eb0e30f9b39e99d1bb7b56828fd32e50ea055a (patch) | |
tree | 7b9e212d2a73644bae8b09da164147a4491d98fa /src/hashtables.h | |
parent | noise: free peer references on failure (diff) | |
download | wireguard-monolithic-historical-81eb0e30f9b39e99d1bb7b56828fd32e50ea055a.tar.xz wireguard-monolithic-historical-81eb0e30f9b39e99d1bb7b56828fd32e50ea055a.zip |
peer: ensure destruction doesn't race
Completely rework peer removal to ensure peers don't jump between
contexts and create races.
Diffstat (limited to 'src/hashtables.h')
-rw-r--r-- | src/hashtables.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/hashtables.h b/src/hashtables.h index a2ef6f0..f64cd24 100644 --- a/src/hashtables.h +++ b/src/hashtables.h @@ -47,6 +47,6 @@ void index_hashtable_init(struct index_hashtable *table); __le32 index_hashtable_insert(struct index_hashtable *table, struct index_hashtable_entry *entry); bool index_hashtable_replace(struct index_hashtable *table, struct index_hashtable_entry *old, struct index_hashtable_entry *new); void index_hashtable_remove(struct index_hashtable *table, struct index_hashtable_entry *entry); -struct index_hashtable_entry *index_hashtable_lookup(struct index_hashtable *table, const enum index_hashtable_type type_mask, const __le32 index); +struct index_hashtable_entry *index_hashtable_lookup(struct index_hashtable *table, const enum index_hashtable_type type_mask, const __le32 index, struct wireguard_peer **peer); #endif /* _WG_HASHTABLES_H */ |