]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
MALLOC checks, and statuscode
authorMiek Gieben <miekg@NLnetLabs.nl>
Thu, 16 Dec 2004 15:12:35 +0000 (15:12 +0000)
committerMiek Gieben <miekg@NLnetLabs.nl>
Thu, 16 Dec 2004 15:12:35 +0000 (15:12 +0000)
ldns/error.h
wire2host.c

index f3c18cc855811737d3c746f74de6aac69dc21871..54af74dc82c0f4d473fdae824638f0ba03d2f7b8 100644 (file)
@@ -25,6 +25,7 @@ enum ldns_enum_status
        LDNS_STATUS_DDD_OVERFLOW        = 4 * __X,
        LDNS_STATUS_PACKET_OVERFLOW     = 5 * __X,
        LDNS_STATUS_INVALID_POINTER     = 6 * __X
+       LDNS_STATUS_MEM_ERR             = 7 * __X
        
 
 };
index 931d9983b921063c42ec05c0f7dfaa2680919880..06b3a013e881d87853d63ee7b388f51bcd84c1f4 100644 (file)
@@ -295,6 +295,9 @@ ldns_wire2dname(ldns_rdf **dname, const uint8_t *wire, size_t max, size_t *pos)
        dname_pos++;
        
        dname_ar = XMALLOC(uint8_t, dname_pos);
+       if (!dname_ar) {
+               return LDNS_STATUS_MEM_ERR;
+       }
        memcpy(dname_ar, tmp_dname, dname_pos);
        
        *dname = ldns_rdf_new((uint16_t) dname_pos, LDNS_RDF_TYPE_DNAME,
@@ -318,11 +321,16 @@ ldns_wire2rr(ldns_rr *rr, const uint8_t *wire, size_t max,
              size_t *pos, int section)
 {
        ldns_rdf *owner;
-       char *owner_str = XMALLOC(char, MAXDOMAINLEN);
+       char *owner_str;
        uint16_t rd_length;
        ldns_status status = LDNS_STATUS_OK;
        
        status = ldns_wire2dname(&owner, wire, max, pos);
+       char *owner_str = XMALLOC(char, MAXDOMAINLEN);
+       if (!owner_str) {
+               return LDNS_STATUS_MEM_ERR;
+       }
+               
 /*     
        ldns_rr_set_owner(rr, owner);
 */