aboutsummaryrefslogtreecommitdiffstats
path: root/package/libs/libjson-c/patches/002-Prevent-division-by-zero-in-linkhash.patch
blob: d37fe5857bd7b4d0347838c4cc55ae37512e03c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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
@@ -12,6 +12,7 @@
 
 #include "config.h"
 
+#include <assert.h>
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
@@ -498,6 +499,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)
 		return NULL;