From: Aaron LI Date: Thu, 30 Apr 2026 09:00:07 +0000 (+0800) Subject: Fix possible NULL pointer dereference X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ac6dceef0be344e20d2cb34d98bfb8a753bac970;p=thirdparty%2Fldns.git Fix possible NULL pointer dereference Found by GCC analyzer. --- diff --git a/packet.c b/packet.c index cc38f7d4..c7ecce93 100644 --- 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 393b3b8d..05f45554 100644 --- 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) {