diff options
author | des <des@FreeBSD.org> | 2008-07-23 09:15:38 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2008-07-23 09:15:38 +0000 |
commit | 367fd865463ff70d9176231cb7590e6e69b51b06 (patch) | |
tree | 31274ced9514914f9504202c6e49c93d509e710d /openbsd-compat/getrrsetbyname.c | |
parent | e3cfeae816c1b89dbdb19357e2256b4b252fbf05 (diff) | |
download | FreeBSD-src-367fd865463ff70d9176231cb7590e6e69b51b06.zip FreeBSD-src-367fd865463ff70d9176231cb7590e6e69b51b06.tar.gz |
Vendor import of OpenSSH 4.6p1 for posterity's sake
Diffstat (limited to 'openbsd-compat/getrrsetbyname.c')
-rw-r--r-- | openbsd-compat/getrrsetbyname.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/openbsd-compat/getrrsetbyname.c b/openbsd-compat/getrrsetbyname.c index 6c86e02..07231d0 100644 --- a/openbsd-compat/getrrsetbyname.c +++ b/openbsd-compat/getrrsetbyname.c @@ -303,10 +303,12 @@ 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) { - result = ERRSET_NOMEMORY; - goto fail; + if (rrset->rri_nsigs > 0) { + rrset->rri_sigs = calloc(rrset->rri_nsigs, sizeof(struct rdatainfo)); + if (rrset->rri_sigs == NULL) { + result = ERRSET_NOMEMORY; + goto fail; + } } /* copy answers & signatures */ |