You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
884 B
32 lines
884 B
From 77d935b7ae7871a1940cd827e850e6063044ec45 Mon Sep 17 00:00:00 2001
|
|
From: Tobias Stoeckmann <tobias@stoeckmann.org>
|
|
Date: Mon, 4 May 2020 19:46:45 +0200
|
|
Subject: [PATCH 2/2] Prevent division by zero in linkhash.
|
|
|
|
If a linkhash with a size of zero is created, then modulo operations
|
|
are prone to division by zero operations.
|
|
|
|
Purely protective measure against bad usage.
|
|
---
|
|
linkhash.c | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
--- a/linkhash.c
|
|
+++ b/linkhash.c
|
|
@@ -10,6 +10,7 @@
|
|
*
|
|
*/
|
|
|
|
+#include <assert.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
@@ -431,6 +432,8 @@ struct lh_table* lh_table_new(int size,
|
|
int i;
|
|
struct lh_table *t;
|
|
|
|
+ /* Allocate space for elements to avoid divisions by zero. */
|
|
+ assert(size > 0);
|
|
t = (struct lh_table*)calloc(1, sizeof(struct lh_table));
|
|
if(!t) lh_abort("lh_table_new: calloc failed\n");
|
|
t->count = 0;
|
|
|