]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
obscure buglet fixed, where every 1 letter dname was converted to the root lab
authorMiek Gieben <miekg@NLnetLabs.nl>
Tue, 26 Jul 2005 09:58:15 +0000 (09:58 +0000)
committerMiek Gieben <miekg@NLnetLabs.nl>
Tue, 26 Jul 2005 09:58:15 +0000 (09:58 +0000)
host2str.c
rr.c
str2host.c

index 8ecf948935cef8ceeb3fbe3f7754e20d6bfd5f49..9570e6a140cbc8dbd3895a4cb7040e0833733038 100644 (file)
@@ -93,6 +93,7 @@ ldns_rdf2buffer_str_dname(ldns_buffer *output, ldns_rdf *dname)
        len = data[src_pos];
 
        /* special case: root label */
+       /* XXX also check the actual contents!!!! ??? */
        if (1 == ldns_rdf_size(dname)) {
                ldns_buffer_printf(output, ".");
        } else {
diff --git a/rr.c b/rr.c
index 6fdd639612b97dede4cca7c131affc5aee382e6f..2ac952a46dbf53c6be91908abf375da6db81d87b 100644 (file)
--- a/rr.c
+++ b/rr.c
@@ -198,6 +198,7 @@ ldns_rr_new_frm_str(const char *str)
                ldns_buffer_free(rr_buf);
                return NULL;
        }
+
        ldns_buffer_new_frm_data(
                        rd_buf, rdata, strlen(rdata));
 
index 847ca6497bbf7a0462b33018bae210b06aefba7c..3efd24800b6b28164818717bc28f02360e60fcfb 100644 (file)
@@ -166,7 +166,7 @@ ldns_str2rdf_dname(ldns_rdf **d, const char *str)
        } 
        
        /* root label */
-       if (1 == len) {
+       if (1 == len && *str == '.') {
                *d = ldns_rdf_new_frm_data(LDNS_RDF_TYPE_DNAME, 1, "\0"); 
                return LDNS_STATUS_OK;
        }