diff options
Diffstat (limited to 'net-dns/rbldnsd/files/rbldnsd-0.998-fix-huge-zone-OOM.patch')
-rw-r--r-- | net-dns/rbldnsd/files/rbldnsd-0.998-fix-huge-zone-OOM.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/net-dns/rbldnsd/files/rbldnsd-0.998-fix-huge-zone-OOM.patch b/net-dns/rbldnsd/files/rbldnsd-0.998-fix-huge-zone-OOM.patch new file mode 100644 index 000000000000..7a4d2da7187f --- /dev/null +++ b/net-dns/rbldnsd/files/rbldnsd-0.998-fix-huge-zone-OOM.patch @@ -0,0 +1,60 @@ +This upstream patch has been merged but not released. I (mjo) dropped +a change to the NEWS file to prevent a pointless conflict. + +From a1295eefc78b6e8a3c220e164dbfad6dbecc6f6e Mon Sep 17 00:00:00 2001 +From: Antonio Mammita <am@spamteq.com> +Date: Wed, 21 Dec 2016 16:54:06 +0100 +Subject: [PATCH] Fix for out of memory errors on huge zones. Thanks to Andrew + Clayton + +--- + rbldnsd.h | 6 +++--- + rbldnsd_util.c | 6 +++--- + 3 files changed, 10 insertions(+), 6 deletions(-) + +diff --git a/rbldnsd.h b/rbldnsd.h +index 6acd8a0..f195a30 100644 +--- a/rbldnsd.h ++++ b/rbldnsd.h +@@ -367,9 +367,9 @@ extern struct dataset *g_dsacl; /* global acl */ + extern const char *show_version; /* version.bind CH TXT */ + + void oom(void); +-char *emalloc(unsigned size); +-char *ezalloc(unsigned size); /* zero-fill */ +-char *erealloc(void *ptr, unsigned size); ++char *emalloc(size_t size); ++char *ezalloc(size_t size); /* zero-fill */ ++char *erealloc(void *ptr, size_t size); + char *estrdup(const char *str); + char *ememdup(const void *buf, unsigned size); + +diff --git a/rbldnsd_util.c b/rbldnsd_util.c +index d17b51b..c6d628d 100644 +--- a/rbldnsd_util.c ++++ b/rbldnsd_util.c +@@ -460,21 +460,21 @@ dump_a_txt(const char *name, const char *rr, + + #endif + +-char *emalloc(unsigned size) { ++char *emalloc(size_t size) { + void *ptr = malloc(size); + if (!ptr) + oom(); + return ptr; + } + +-char *ezalloc(unsigned size) { ++char *ezalloc(size_t size) { + void *ptr = calloc(1, size); + if (!ptr) + oom(); + return ptr; + } + +-char *erealloc(void *ptr, unsigned size) { ++char *erealloc(void *ptr, size_t size) { + void *nptr = realloc(ptr, size); + if (!nptr) + oom(); |