Apply patch for CVE-2020-7105. Fixes bug #1796474
parent
275e2c51f6
commit
fc66aa7d9b
@ -0,0 +1,55 @@
|
||||
From 78cec256efa5ca4705af85edbdf137060c9a4b0a Mon Sep 17 00:00:00 2001
|
||||
From: Chris Lamb <chris@chris-lamb.co.uk>
|
||||
Date: Sun, 19 Jan 2020 11:49:13 +0000
|
||||
Subject: [PATCH] Abort if malloc() was unsuccessful. (Closes: #747)
|
||||
|
||||
---
|
||||
async.c | 2 ++
|
||||
dict.c | 7 ++++++-
|
||||
2 files changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/async.c b/async.c
|
||||
index 4f422d566..f9193dd05 100644
|
||||
--- a/async.c
|
||||
+++ b/async.c
|
||||
@@ -58,6 +58,8 @@ static unsigned int callbackHash(const void *key) {
|
||||
static void *callbackValDup(void *privdata, const void *src) {
|
||||
((void) privdata);
|
||||
redisCallback *dup = malloc(sizeof(*dup));
|
||||
+ if (dup == NULL)
|
||||
+ abort();
|
||||
memcpy(dup,src,sizeof(*dup));
|
||||
return dup;
|
||||
}
|
||||
diff --git a/dict.c b/dict.c
|
||||
index 5b349f078..70ef57f6b 100644
|
||||
--- a/dict.c
|
||||
+++ b/dict.c
|
||||
@@ -72,6 +72,8 @@ static void _dictReset(dict *ht) {
|
||||
/* Create a new hash table */
|
||||
static dict *dictCreate(dictType *type, void *privDataPtr) {
|
||||
dict *ht = malloc(sizeof(*ht));
|
||||
+ if (ht == NULL)
|
||||
+ abort();
|
||||
_dictInit(ht,type,privDataPtr);
|
||||
return ht;
|
||||
}
|
||||
@@ -143,6 +145,8 @@ static int dictAdd(dict *ht, void *key, void *val) {
|
||||
|
||||
/* Allocates the memory and stores key */
|
||||
entry = malloc(sizeof(*entry));
|
||||
+ if (entry == NULL)
|
||||
+ abort();
|
||||
entry->next = ht->table[index];
|
||||
ht->table[index] = entry;
|
||||
|
||||
@@ -257,7 +261,8 @@ static dictEntry *dictFind(dict *ht, const void *key) {
|
||||
|
||||
static dictIterator *dictGetIterator(dict *ht) {
|
||||
dictIterator *iter = malloc(sizeof(*iter));
|
||||
-
|
||||
+ if (iter == NULL)
|
||||
+ abort();
|
||||
iter->ht = ht;
|
||||
iter->index = -1;
|
||||
iter->entry = NULL;
|
Loading…
Reference in new issue