diff --git a/main/astobj2_hash.c b/main/astobj2_hash.c index 91ad2d2d07c7b2532efd91a27cc1f53b75722a78..b036911b484a3792ea0aeb0499d53f8d541ce6fc 100644 --- a/main/astobj2_hash.c +++ b/main/astobj2_hash.c @@ -215,8 +215,7 @@ static struct hash_bucket_node *hash_ao2_new_node(struct ao2_container_hash *sel return NULL; } - i = abs(self->hash_fn(obj_new, OBJ_SEARCH_OBJECT)); - i %= self->n_buckets; + i = abs(self->hash_fn(obj_new, OBJ_SEARCH_OBJECT) % self->n_buckets); __ao2_ref(obj_new, +1, tag ?: "Container node creation", file, line, func); node->common.obj = obj_new; @@ -362,8 +361,8 @@ static struct hash_bucket_node *hash_ao2_find_first(struct ao2_container_hash *s case OBJ_SEARCH_OBJECT: case OBJ_SEARCH_KEY: /* we know hash can handle this case */ - bucket_cur = abs(self->hash_fn(arg, flags & OBJ_SEARCH_MASK)); - bucket_cur %= self->n_buckets; + bucket_cur = abs(self->hash_fn(arg, flags & OBJ_SEARCH_MASK) + % self->n_buckets); state->sort_fn = self->common.sort_fn; break; case OBJ_SEARCH_PARTIAL_KEY: @@ -960,8 +959,8 @@ static int hash_ao2_integrity(struct ao2_container_hash *self) ++count_obj; /* Check container hash key for expected bucket. */ - bucket_exp = abs(self->hash_fn(node->common.obj, OBJ_SEARCH_OBJECT)); - bucket_exp %= self->n_buckets; + bucket_exp = abs(self->hash_fn(node->common.obj, OBJ_SEARCH_OBJECT) + % self->n_buckets); if (bucket != bucket_exp) { ast_log(LOG_ERROR, "Bucket %d node hashes to bucket %d!\n", bucket, bucket_exp);