]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
check more dns_rdata_tostruct returns
authorMark Andrews <marka@isc.org>
Mon, 29 Oct 2012 21:50:06 +0000 (08:50 +1100)
committerMark Andrews <marka@isc.org>
Mon, 29 Oct 2012 21:50:06 +0000 (08:50 +1100)
lib/dns/zone.c

index e5d24ece6672da54e8a71eb64ace0f734489f7b7..3ec12bcaab4b4c034dfeae080792deedf51a05cd 100644 (file)
@@ -7642,19 +7642,22 @@ normalize_key(dns_rdata_t *rr, dns_rdata_t *target,
        dns_rdata_dnskey_t dnskey;
        dns_rdata_keydata_t keydata;
        isc_buffer_t buf;
+       isc_result_t result;
 
        dns_rdata_reset(target);
        isc_buffer_init(&buf, data, size);
 
        switch (rr->type) {
            case dns_rdatatype_dnskey:
-               dns_rdata_tostruct(rr, &dnskey, NULL);
+               result = dns_rdata_tostruct(rr, &dnskey, NULL);
+               RUNTIME_CHECK(result == ISC_R_SUCCESS);
                dnskey.flags &= ~DNS_KEYFLAG_REVOKE;
                dns_rdata_fromstruct(target, rr->rdclass, dns_rdatatype_dnskey,
                                     &dnskey, &buf);
                break;
            case dns_rdatatype_keydata:
-               dns_rdata_tostruct(rr, &keydata, NULL);
+               result = dns_rdata_tostruct(rr, &keydata, NULL);
+               RUNTIME_CHECK(result == ISC_R_SUCCESS);
                dns_keydata_todnskey(&keydata, &dnskey, NULL);
                dns_rdata_fromstruct(target, rr->rdclass, dns_rdatatype_dnskey,
                                     &dnskey, &buf);
@@ -8061,7 +8064,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) {
             result = dns_rdataset_next(&kfetch->keydataset)) {
                dns_rdata_reset(&keydatarr);
                dns_rdataset_current(&kfetch->keydataset, &keydatarr);
-               dns_rdata_tostruct(&keydatarr, &keydata, NULL);
+               result = dns_rdata_tostruct(&keydatarr, &keydata, NULL);
+               RUNTIME_CHECK(result == ISC_R_SUCCESS);
 
                /*
                 * If any keydata record has a nonzero add holddown, then
@@ -8163,7 +8167,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) {
                if (matchkey(&kfetch->keydataset, &dnskeyrr)) {
                        dns_rdata_reset(&keydatarr);
                        dns_rdataset_current(&kfetch->keydataset, &keydatarr);
-                       dns_rdata_tostruct(&keydatarr, &keydata, NULL);
+                       result = dns_rdata_tostruct(&keydatarr, &keydata, NULL);
+                       RUNTIME_CHECK(result == ISC_R_SUCCESS);
 
                        if (revoked && revocable(kfetch, &keydata)) {
                                if (keydata.addhd > now) {
@@ -8263,7 +8268,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) {
                                            &keydatarr));
                } else if (newkey) {
                        /* Convert DNSKEY to KEYDATA */
-                       dns_rdata_tostruct(&dnskeyrr, &dnskey, NULL);
+                       result = dns_rdata_tostruct(&dnskeyrr, &dnskey, NULL);
+                       RUNTIME_CHECK(result == ISC_R_SUCCESS);
                        dns_keydata_fromdnskey(&keydata, &dnskey, 0, 0, 0,
                                               NULL);
                        keydata.addhd = initializing ? now : now + MONTH;
@@ -8282,7 +8288,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) {
 
                if (trustkey) {
                        /* Trust this key. */
-                       dns_rdata_tostruct(&dnskeyrr, &dnskey, NULL);
+                       result = dns_rdata_tostruct(&dnskeyrr, &dnskey, NULL);
+                       RUNTIME_CHECK(result == ISC_R_SUCCESS);
                        trust_key(zone, keyname, &dnskey, mctx);
                }