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 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();