diff options
Diffstat (limited to 'ot_vector.c')
| -rw-r--r-- | ot_vector.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/ot_vector.c b/ot_vector.c index 7f661aa..e3c3d3f 100644 --- a/ot_vector.c +++ b/ot_vector.c | |||
| @@ -218,8 +218,10 @@ void vector_redistribute_buckets(ot_peerlist *peer_list, size_t peer_size) { | |||
| 218 | for (bucket = 0; bucket < num_buckets_new; ++bucket) { | 218 | for (bucket = 0; bucket < num_buckets_new; ++bucket) { |
| 219 | bucket_list_new[bucket].space = bucket_size_new; | 219 | bucket_list_new[bucket].space = bucket_size_new; |
| 220 | bucket_list_new[bucket].data = malloc(bucket_size_new * peer_size); | 220 | bucket_list_new[bucket].data = malloc(bucket_size_new * peer_size); |
| 221 | if (!bucket_list_new[bucket].data) | 221 | if (!bucket_list_new[bucket].data) { |
| 222 | return vector_clean_list(bucket_list_new, num_buckets_new); | 222 | vector_clean_list(bucket_list_new, num_buckets_new); |
| 223 | return; | ||
| 224 | } | ||
| 223 | } | 225 | } |
| 224 | 226 | ||
| 225 | /* Now sort them into the correct bucket */ | 227 | /* Now sort them into the correct bucket */ |
| @@ -232,8 +234,10 @@ void vector_redistribute_buckets(ot_peerlist *peer_list, size_t peer_size) { | |||
| 232 | bucket_dest += vector_hash_peer(peers_old, OT_PEER_COMPARE_SIZE_FROM_PEER_SIZE(peer_size), num_buckets_new); | 234 | bucket_dest += vector_hash_peer(peers_old, OT_PEER_COMPARE_SIZE_FROM_PEER_SIZE(peer_size), num_buckets_new); |
| 233 | if (bucket_dest->size + 1 > bucket_dest->space) { | 235 | if (bucket_dest->size + 1 > bucket_dest->space) { |
| 234 | void *tmp = realloc(bucket_dest->data, peer_size * OT_VECTOR_GROW_RATIO * bucket_dest->space); | 236 | void *tmp = realloc(bucket_dest->data, peer_size * OT_VECTOR_GROW_RATIO * bucket_dest->space); |
| 235 | if (!tmp) | 237 | if (!tmp) { |
| 236 | return vector_clean_list(bucket_list_new, num_buckets_new); | 238 | vector_clean_list(bucket_list_new, num_buckets_new); |
| 239 | return; | ||
| 240 | } | ||
| 237 | bucket_dest->data = tmp; | 241 | bucket_dest->data = tmp; |
| 238 | bucket_dest->space *= OT_VECTOR_GROW_RATIO; | 242 | bucket_dest->space *= OT_VECTOR_GROW_RATIO; |
| 239 | } | 243 | } |
