From f00e51d1f2ea01c33d5548b79a86c44036b90aae Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Sun, 29 Aug 2004 16:12:29 +1000 Subject: - (dtucker) [openbsd-compat/getrrsetbyname.c] Prevent getrrsetbyname from failing with NOMEMORY if no sigs are returned and malloc(0) returns NULL. From Martin.Kraemer at Fujitsu-Siemens.com; ok djm@ --- ChangeLog | 7 ++++++- openbsd-compat/getrrsetbyname.c | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 74fea6302..8302ee1d3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +20040829 + - (dtucker) [openbsd-compat/getrrsetbyname.c] Prevent getrrsetbyname from + failing with NOMEMORY if no sigs are returned and malloc(0) returns NULL. + From Martin.Kraemer at Fujitsu-Siemens.com; ok djm@ + 20040828 - (dtucker) [openbsd-compat/mktemp.c] Remove superfluous Cygwin #ifdef; from vinschen at redhat.com. @@ -1664,4 +1669,4 @@ - (djm) Trim deprecated options from INSTALL. Mention UsePAM - (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu -$Id: ChangeLog,v 1.3521 2004/08/28 06:17:35 dtucker Exp $ +$Id: ChangeLog,v 1.3522 2004/08/29 06:12:29 dtucker Exp $ diff --git a/openbsd-compat/getrrsetbyname.c b/openbsd-compat/getrrsetbyname.c index 660427c1f..4e869c4df 100644 --- a/openbsd-compat/getrrsetbyname.c +++ b/openbsd-compat/getrrsetbyname.c @@ -277,7 +277,7 @@ getrrsetbyname(const char *hostname, unsigned int rdclass, /* allocate memory for signatures */ rrset->rri_sigs = calloc(rrset->rri_nsigs, sizeof(struct rdatainfo)); - if (rrset->rri_sigs == NULL) { + if (rrset->rri_nsigs > 0 && rrset->rri_sigs == NULL) { result = ERRSET_NOMEMORY; goto fail; } -- cgit v1.2.3