]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
Fix possible NULL pointer dereference 302/head
authorAaron LI <aly@aaronly.me>
Thu, 30 Apr 2026 09:00:07 +0000 (17:00 +0800)
committerAaron LI <aly@aaronly.me>
Thu, 30 Apr 2026 09:00:07 +0000 (17:00 +0800)
Found by GCC analyzer.

packet.c
rr.c

index cc38f7d4863fd24bbbec7a07ae991a1527f2edb9..c7ecce932cbb12f7cd1d2da1d0084c7bf50e9423 100644 (file)
--- a/packet.c
+++ b/packet.c
@@ -1241,6 +1241,9 @@ ldns_pkt_clone(const ldns_pkt *pkt)
                return NULL;
        }
        new_pkt = ldns_pkt_new();
+       if (!new_pkt) {
+               return NULL;
+       }
 
        ldns_pkt_set_id(new_pkt, ldns_pkt_id(pkt));
        ldns_pkt_set_qr(new_pkt, ldns_pkt_qr(pkt));
diff --git a/rr.c b/rr.c
index 393b3b8d2262f4fb7df1915cbd8c27c95be6ca1e..05f45554b5c24eec61aed95bc4687067b38859ec 100644 (file)
--- a/rr.c
+++ b/rr.c
@@ -1517,6 +1517,9 @@ qsort_schwartz_rr_compare(const void *a, const void *b)
        if (result == 0) {
                if (!sa->transformed_object) {
                        canonical_a = ldns_rr_clone(sa->original_object);
+                       if (!canonical_a) {
+                               return 0;
+                       }
                        ldns_rr2canonical(canonical_a);
                        sa->transformed_object = ldns_buffer_new(ldns_rr_uncompressed_size(canonical_a));
                        if (ldns_rr2buffer_wire(sa->transformed_object, canonical_a, LDNS_SECTION_ANY) != LDNS_STATUS_OK) {
@@ -1529,6 +1532,9 @@ qsort_schwartz_rr_compare(const void *a, const void *b)
                }
                if (!sb->transformed_object) {
                        canonical_b = ldns_rr_clone(sb->original_object);
+                       if (!canonical_b) {
+                               return 0;
+                       }
                        ldns_rr2canonical(canonical_b);
                        sb->transformed_object = ldns_buffer_new(ldns_rr_uncompressed_size(canonical_b));
                        if (ldns_rr2buffer_wire(sb->transformed_object, canonical_b, LDNS_SECTION_ANY) != LDNS_STATUS_OK) {