[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