[packages/perl-DNS-LDNS] fix double free

atler atler at pld-linux.org
Sun Aug 16 01:24:13 CEST 2026


commit fdbdf178b7e31bcfd5cb6a04720b8b4e37a8acb6
Author: Jan Palus <atler at pld-linux.org>
Date:   Sun Aug 16 01:21:27 2026 +0200

    fix double free
    
    duplicate data originating from perl as ldns library assumes its
    ownership and attempts to free it itself

 double-free.patch  | 17 +++++++++++++++++
 perl-DNS-LDNS.spec |  2 ++
 2 files changed, 19 insertions(+)
---
diff --git a/perl-DNS-LDNS.spec b/perl-DNS-LDNS.spec
index fda8ddb..9ecc4f1 100644
--- a/perl-DNS-LDNS.spec
+++ b/perl-DNS-LDNS.spec
@@ -14,6 +14,7 @@ License:	GPL v1+ or Artistic
 Group:		Development/Languages/Perl
 Source0:	http://www.cpan.org/modules/by-module/DNS/%{pdir}-%{pnam}-%{version}.tar.gz
 # Source0-md5:	c544481a56995b1abcb70405e9e26877
+Patch0:		double-free.patch
 URL:		https://metacpan.org/release/DNS-LDNS
 BuildRequires:	ldns-devel
 BuildRequires:	perl-ExtUtils-MakeMaker
@@ -40,6 +41,7 @@ biblioteki ldns można znaleźć pod adresem
 
 %prep
 %setup -q -n %{pdir}-%{pnam}-%{version}
+%patch -P0 -p1
 
 %{__rm} t/{dnssec_datachain,resolver}.t
 
diff --git a/double-free.patch b/double-free.patch
new file mode 100644
index 0000000..3df239d
--- /dev/null
+++ b/double-free.patch
@@ -0,0 +1,17 @@
+--- DNS-LDNS-0.63/LDNS.xs.orig	2021-11-18 10:45:58.000000000 +0100
++++ DNS-LDNS-0.63/LDNS.xs	2026-08-16 01:19:54.402851503 +0200
+@@ -1319,9 +1319,11 @@
+ 	DNS__LDNS__RData rdf;
+         SV* binstr;
+ 	CODE:
+-        const char* downgrd = SvPVbyte_nolen(binstr);
+-        ldns_rdf_set_data(rdf, downgrd);
+-        ldns_rdf_set_size(rdf, SvCUR(binstr));
++        int size = SvCUR(binstr);
++        char* data = LDNS_XMALLOC(char, size);
++        memcpy(data, SvPVbyte_nolen(binstr), size);
++        ldns_rdf_set_data(rdf, data);
++        ldns_rdf_set_size(rdf, size);
+ 
+ void
+ print(rdf, fp)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/perl-DNS-LDNS.git/commitdiff/fdbdf178b7e31bcfd5cb6a04720b8b4e37a8acb6



More information about the pld-cvs-commit mailing list