]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
some null checks
authorJelte Jansen <jeltejan@NLnetLabs.nl>
Tue, 8 Mar 2005 14:28:02 +0000 (14:28 +0000)
committerJelte Jansen <jeltejan@NLnetLabs.nl>
Tue, 8 Mar 2005 14:28:02 +0000 (14:28 +0000)
host2str.c
resolver.c

index a491d4d719dbf9dcd62dd978a288dad076330e6d..db227831480f814b1953fd33b5adc051a1965aa1 100644 (file)
@@ -830,52 +830,55 @@ ldns_rr2buffer_str(ldns_buffer *output, ldns_rr *rr)
        ldns_lookup_table *lt;
        const ldns_rr_descriptor *descriptor;
        
-       if (ldns_rr_owner(rr)) {
-               status = ldns_rdf2buffer_str_dname(output, ldns_rr_owner(rr)); 
-       }
-       if (status != LDNS_STATUS_OK) {
-               return status;
-       }
-
-       /* ttl should not be printed if it is a question, but we don't know that anymore... (do we?)*/
-       /* TODO: better way */
-       if (ldns_rr_rd_count(rr) > 0) {
-               ldns_buffer_printf(output, "\t%d", ldns_rr_ttl(rr));
-       }
-       
-       lt = ldns_lookup_by_id(ldns_rr_classes, ldns_rr_get_class(rr));
-       if (lt) {
-               ldns_buffer_printf(output, "\t%s\t", lt->name);
+       if (!rr) {
+               ldns_buffer_printf(output, "<NIL> ");
        } else {
-               ldns_buffer_printf(output, "\tCLASS%d\t", ldns_rr_get_class(rr));
-       }
+               if (ldns_rr_owner(rr)) {
+                       status = ldns_rdf2buffer_str_dname(output, ldns_rr_owner(rr)); 
+               }
+               if (status != LDNS_STATUS_OK) {
+                       return status;
+               }
 
-       descriptor = ldns_rr_descript(ldns_rr_get_type(rr));
+               /* ttl should not be printed if it is a question, but we don't know that anymore... (do we?)*/
+               /* TODO: better way */
+               if (ldns_rr_rd_count(rr) > 0) {
+                       ldns_buffer_printf(output, "\t%d", ldns_rr_ttl(rr));
+               }
+               
+               lt = ldns_lookup_by_id(ldns_rr_classes, ldns_rr_get_class(rr));
+               if (lt) {
+                       ldns_buffer_printf(output, "\t%s\t", lt->name);
+               } else {
+                       ldns_buffer_printf(output, "\tCLASS%d\t", ldns_rr_get_class(rr));
+               }
 
-       if (descriptor->_name) {
-               ldns_buffer_printf(output, "%s\t", descriptor->_name);
-       } else {
-               /* exceptions for qtype */
-               if (ldns_rr_get_type(rr) == 251) {
-                       ldns_buffer_printf(output, "IXFR ");
-               } else if (ldns_rr_get_type(rr) == 252) {
-                       ldns_buffer_printf(output, "AXFR ");
-               } else if (ldns_rr_get_type(rr) == 253) {
-                       ldns_buffer_printf(output, "MAILB ");
-               } else if (ldns_rr_get_type(rr) == 254) {
-                       ldns_buffer_printf(output, "MAILA ");
-               } else if (ldns_rr_get_type(rr) == 255) {
-                       ldns_buffer_printf(output, "ANY ");
+               descriptor = ldns_rr_descript(ldns_rr_get_type(rr));
+
+               if (descriptor->_name) {
+                       ldns_buffer_printf(output, "%s\t", descriptor->_name);
                } else {
-                       ldns_buffer_printf(output, "TYPE%d\t", ldns_rr_get_type(rr));
+                       /* exceptions for qtype */
+                       if (ldns_rr_get_type(rr) == 251) {
+                               ldns_buffer_printf(output, "IXFR ");
+                       } else if (ldns_rr_get_type(rr) == 252) {
+                               ldns_buffer_printf(output, "AXFR ");
+                       } else if (ldns_rr_get_type(rr) == 253) {
+                               ldns_buffer_printf(output, "MAILB ");
+                       } else if (ldns_rr_get_type(rr) == 254) {
+                               ldns_buffer_printf(output, "MAILA ");
+                       } else if (ldns_rr_get_type(rr) == 255) {
+                               ldns_buffer_printf(output, "ANY ");
+                       } else {
+                               ldns_buffer_printf(output, "TYPE%d\t", ldns_rr_get_type(rr));
+                       }
+               }
+               
+               for (i = 0; i < ldns_rr_rd_count(rr); i++) {
+                       status = ldns_rdf2buffer_str(output, ldns_rr_rdf(rr, i));
+                       ldns_buffer_printf(output, " ");
                }
        }
-       
-       for (i = 0; i < ldns_rr_rd_count(rr); i++) {
-               status = ldns_rdf2buffer_str(output, ldns_rr_rdf(rr, i));
-               ldns_buffer_printf(output, " ");
-       }
-       
        return ldns_buffer_status(output);
 }
 
index 315f7c2ed80a1c37a46ff41dd3edeaa4b75dec2a..79dc60563791b98227fd51bba9e0dcd538249169 100644 (file)
@@ -210,9 +210,8 @@ ldns_status
 ldns_resolver_push_nameserver_rr(ldns_resolver *r, ldns_rr *rr)
 {
        ldns_rdf *address;
-
-       if (ldns_rr_get_type(rr) != LDNS_RR_TYPE_A &&
-                       ldns_rr_get_type(rr) != LDNS_RR_TYPE_AAAA) {
+       if ((!rr) || (ldns_rr_get_type(rr) != LDNS_RR_TYPE_A &&
+                       ldns_rr_get_type(rr) != LDNS_RR_TYPE_AAAA)) {
                return LDNS_STATUS_ERR;
        }
        address = ldns_rr_rdf(rr, 0); /* extract the ip number */