fix in get_mx_rrs

This commit is contained in:
whottgen 2006-09-20 19:08:37 +00:00
parent a2c463c1bd
commit dfa2da5ce8

View File

@ -350,10 +350,25 @@ static void** get_rrs(char *domain, int qtype) {
} }
mx_rdata_t** get_mx_rrs(char *domain) { mx_rdata_t** get_mx_rrs(char *domain) {
return (mx_rdata_t**) get_rrs(domain, T_MX); if (domain == NULL)
return NULL;
rdata_t **rdata = get_rrs(domain, T_MX);
if ((NULL == rdata) || (NULL == *rdata)) {
return NULL;
} else if ((*rdata)->type != T_MX) {
free_rrs((void**)rdata);
return NULL;
} else {
return (mx_rdata_t**) rdata;
}
} }
a_rdata_t** get_a_rrs(char *domain) { a_rdata_t** get_a_rrs(char *domain) {
if (domain == NULL)
return NULL;
rdata_t **rdata, **rdata2; rdata_t **rdata, **rdata2;
cname_rdata_t **cname_rdata; cname_rdata_t **cname_rdata;
@ -376,6 +391,9 @@ a_rdata_t** get_a_rrs(char *domain) {
#define min(A,B) ((A<B) ? A : B) #define min(A,B) ((A<B) ? A : B)
mx_rdata_t** get_best_mx_rrs(char *domain) { mx_rdata_t** get_best_mx_rrs(char *domain) {
if (domain == NULL)
return NULL;
mx_rdata_t **all_mx_rrs, **mx_rdata2, **best_mx_rrs; mx_rdata_t **all_mx_rrs, **mx_rdata2, **best_mx_rrs;
int min_pref = 10000000; int min_pref = 10000000;
int all_cnt = 0; int all_cnt = 0;