diff options
Diffstat (limited to 'contrib/sendmail/src/sm_resolve.c')
-rw-r--r-- | contrib/sendmail/src/sm_resolve.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/contrib/sendmail/src/sm_resolve.c b/contrib/sendmail/src/sm_resolve.c index a6f5862..8828fd1 100644 --- a/contrib/sendmail/src/sm_resolve.c +++ b/contrib/sendmail/src/sm_resolve.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000-2002 Sendmail, Inc. and its suppliers. + * Copyright (c) 2000-2003 Sendmail, Inc. and its suppliers. * All rights reserved. * * By using this file, you agree to the terms and conditions set @@ -46,7 +46,7 @@ # if NAMED_BIND # include "sm_resolve.h" -SM_RCSID("$Id: sm_resolve.c,v 8.24.4.6 2002/06/25 04:22:41 ca Exp $") +SM_RCSID("$Id: sm_resolve.c,v 8.24.4.7 2003/03/22 22:55:37 ca Exp $") static struct stot { @@ -172,10 +172,10 @@ parse_dns_reply(data, len) DNS_REPLY_T *r; RESOURCE_RECORD_T **rr; - r = (DNS_REPLY_T *) xalloc(sizeof(*r)); - memset(r, 0, sizeof(*r)); + r = (DNS_REPLY_T *) sm_malloc(sizeof(*r)); if (r == NULL) return NULL; + memset(r, 0, sizeof(*r)); p = data; @@ -227,12 +227,13 @@ parse_dns_reply(data, len) dns_free_data(r); return NULL; } - *rr = (RESOURCE_RECORD_T *) xalloc(sizeof(**rr)); + *rr = (RESOURCE_RECORD_T *) sm_malloc(sizeof(**rr)); if (*rr == NULL) { dns_free_data(r); return NULL; } + memset(*rr, 0, sizeof(**rr)); (*rr)->rr_domain = sm_strdup(host); if ((*rr)->rr_domain == NULL) { @@ -274,7 +275,7 @@ parse_dns_reply(data, len) } l = strlen(host) + 1; (*rr)->rr_u.rr_mx = (MX_RECORD_T *) - xalloc(sizeof(*((*rr)->rr_u.rr_mx)) + l); + sm_malloc(sizeof(*((*rr)->rr_u.rr_mx)) + l); if ((*rr)->rr_u.rr_mx == NULL) { dns_free_data(r); @@ -295,7 +296,7 @@ parse_dns_reply(data, len) } l = strlen(host) + 1; (*rr)->rr_u.rr_srv = (SRV_RECORDT_T*) - xalloc(sizeof(*((*rr)->rr_u.rr_srv)) + l); + sm_malloc(sizeof(*((*rr)->rr_u.rr_srv)) + l); if ((*rr)->rr_u.rr_srv == NULL) { dns_free_data(r); @@ -330,7 +331,7 @@ parse_dns_reply(data, len) dns_free_data(r); return NULL; } - (*rr)->rr_u.rr_txt = (char *) xalloc(txtlen + 1); + (*rr)->rr_u.rr_txt = (char *) sm_malloc(txtlen + 1); if ((*rr)->rr_u.rr_txt == NULL) { dns_free_data(r); @@ -341,8 +342,8 @@ parse_dns_reply(data, len) break; default: - (*rr)->rr_u.rr_data = (unsigned char*) xalloc(size); - if (size != 0 && (*rr)->rr_u.rr_data == NULL) + (*rr)->rr_u.rr_data = (unsigned char*) sm_malloc(size); + if ((*rr)->rr_u.rr_data == NULL) { dns_free_data(r); return NULL; |