table: fix crash during key overload
[dpdk.git] / lib / librte_table / rte_table_hash_key32.c
index da0ce6a..6790594 100644 (file)
@@ -540,9 +540,8 @@ rte_table_hash_entry_delete_key32_ext(
 
                                        memset(bucket, 0,
                                                sizeof(struct rte_bucket_4_32));
-                                       bucket_index = (bucket -
-                                               ((struct rte_bucket_4_32 *)
-                                               f->memory)) - f->n_buckets;
+                                       bucket_index = (((uint8_t *)bucket -
+                                               (uint8_t *)f->memory)/f->bucket_size) - f->n_buckets;
                                        f->stack[f->stack_pos++] = bucket_index;
                                }