--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian....@packages.debian.org
Usertags: pu
X-Debbugs-Cc: debian-p...@lists.debian.org
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
I've uploaded libencode-perl/3.08-1+deb11u2 to bullseye.
It fixes a memory leak with a patch backported from newer upstream
releases which is already in unstable.
Bug: https://rt.cpan.org/Ticket/Display.html?id=139622
Bug-Debian: #995804
Complete debdiff attached.
Cheers,
gregor
-----BEGIN PGP SIGNATURE-----
iQKTBAEBCgB9FiEE0eExbpOnYKgQTYX6uzpoAYZJqgYFAmGABmVfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEQx
RTEzMTZFOTNBNzYwQTgxMDREODVGQUJCM0E2ODAxODY0OUFBMDYACgkQuzpoAYZJ
qgbVRQ/+IG3HcRjqmmdwdLJEEuLrtYGTjWTFnEt9Dv4OuMUgJYBNqk0UPxTzvacE
V77Gqt/0A8hadc/LZ8i9roj07swpViKrcmn4OIhQ00KrKMykdvSku7gn9UfkeC/4
GNwozyaS+frn1jQh92zdNyiyyEFbc+MIVBCJBs09nD7DJDdOsXJD6aAkSvAK+MYs
sVnvUA8Z/eZwdTdVbqnGTAJFR0645KLmuJ43eb38kR+izp5M++K1GyGSJBzlI7ZE
PowBCZ/nUbwhOMZ8gq0KDq7TwnIH77sDgGieUCTdEj/A6BPSR5zfBGC93DGWhPgJ
fZsyRa4R0HcTYcZig9xfQTrY6gAG+7RiVpAi3JxW6Jub7Egia/KNsPketkUNk3CU
g3pep3jVxS8YgD0XepeTbg5+o1zSMpzv7KY1L1in3T/AzER9fk6TF8uuKvQQlRF4
kr8OUbLUE3H4CZB6c48n1gLIT2JQslgGRof/RE/6WSlsDbCREppym08/P1FnngYC
Hqebq/D3aw8JPfaaipUgT1bpB3LM/rTNUuJBGZMepQp2LVpB9lq8PFCQAiaiY17c
kH739P6Wyc6a/DGzm+2h34+3I0SHczORnXf3OjV3zoTovwkKcbhZi68l9zGm4SuZ
4e5/hVKjFxGWWGrOBopSeZ0A8sIl9aOKAYs1Jhsoeo4dQGM3vM8=
=2XB1
-----END PGP SIGNATURE-----
diff -Nru libencode-perl-3.08/debian/changelog
libencode-perl-3.08/debian/changelog
--- libencode-perl-3.08/debian/changelog 2021-08-06 20:49:32.000000000
+0200
+++ libencode-perl-3.08/debian/changelog 2021-11-01 16:15:54.000000000
+0100
@@ -1,3 +1,13 @@
+libencode-perl (3.08-1+deb11u2) bullseye; urgency=medium
+
+ * Fix memory leak.
+ Add patch rt_139622_memory-leak.patch, taken from upstream releases 3.13,
+ 3.14, 3.15 to fix a memory leak in Encode.xs.
+ Cf. https://rt.cpan.org/Ticket/Display.html?id=139622
+ (Closes: #995804)
+
+ -- gregor herrmann <gre...@debian.org> Mon, 01 Nov 2021 16:15:54 +0100
+
libencode-perl (3.08-1+deb11u1) bullseye-security; urgency=high
* [SECURITY] CVE-2021-36770: Encode loading code from working directory
diff -Nru libencode-perl-3.08/debian/patches/rt_139622_memory-leak.patch
libencode-perl-3.08/debian/patches/rt_139622_memory-leak.patch
--- libencode-perl-3.08/debian/patches/rt_139622_memory-leak.patch
1970-01-01 01:00:00.000000000 +0100
+++ libencode-perl-3.08/debian/patches/rt_139622_memory-leak.patch
2021-11-01 16:15:54.000000000 +0100
@@ -0,0 +1,82 @@
+Description: Fix memory leak
+Origin: upstream releases 3.13, 3.14, 3.15
+Bug-Debian: https://bugs.debian.org/995804
+Bug: https://rt.cpan.org/Ticket/Display.html?id=139622
+Reviewed-by: gregor herrmann <gre...@debian.org>
+Last-Update: 2021-11-01
+
+--- a/Encode.xs
++++ b/Encode.xs
+@@ -154,7 +154,7 @@ encode_method(pTHX_ const encode_t * enc
+ STRLEN sdone = 0;
+ /* We allocate slen+1.
+ PerlIO dumps core if this value is smaller than this. */
+- SV *dst = newSV(slen+1);
++ SV *dst = sv_2mortal(newSV(slen+1));
+ U8 *d = (U8 *)SvPVX(dst);
+ STRLEN dlen = SvLEN(dst)-1;
+ int code = 0;
+@@ -810,13 +810,12 @@ CODE:
+ tmp = encode_method(aTHX_ enc, enc->t_utf8, src, s, slen, check,
+ &offset, term, &code, fallback_cb);
+ sv_catsv(dst, tmp);
+- SvREFCNT_dec(tmp);
+ SvIV_set(off, (IV)offset);
+ RETVAL = (code == ENCODE_FOUND_TERM);
+ OUTPUT:
+ RETVAL
+
+-SV *
++void
+ Method_decode(obj,src,check_sv = &PL_sv_no)
+ SV * obj
+ SV * src
+@@ -828,6 +827,7 @@ PREINIT:
+ encode_t *enc;
+ U8 *s;
+ STRLEN slen;
++ SV *ret;
+ INIT:
+ SvGETMAGIC(src);
+ SvGETMAGIC(check_sv);
+@@ -841,13 +841,13 @@ CODE:
+ s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src,
slen);
+ if (SvUTF8(src))
+ utf8_safe_downgrade(aTHX_ &src, &s, &slen, modify);
+- RETVAL = encode_method(aTHX_ enc, enc->t_utf8, src, s, slen, check,
++ ret = encode_method(aTHX_ enc, enc->t_utf8, src, s, slen, check,
+ NULL, Nullsv, NULL, fallback_cb);
+- SvUTF8_on(RETVAL);
+-OUTPUT:
+- RETVAL
++ SvUTF8_on(ret);
++ ST(0) = ret;
++ XSRETURN(1);
+
+-SV *
++void
+ Method_encode(obj,src,check_sv = &PL_sv_no)
+ SV * obj
+ SV * src
+@@ -859,6 +859,7 @@ PREINIT:
+ encode_t *enc;
+ U8 *s;
+ STRLEN slen;
++ SV *ret;
+ INIT:
+ SvGETMAGIC(src);
+ SvGETMAGIC(check_sv);
+@@ -872,10 +873,10 @@ CODE:
+ s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src,
slen);
+ if (!SvUTF8(src))
+ utf8_safe_upgrade(aTHX_ &src, &s, &slen, modify);
+- RETVAL = encode_method(aTHX_ enc, enc->f_utf8, src, s, slen, check,
++ ret = encode_method(aTHX_ enc, enc->f_utf8, src, s, slen, check,
+ NULL, Nullsv, NULL, fallback_cb);
+-OUTPUT:
+- RETVAL
++ ST(0) = ret;
++ XSRETURN(1);
+
+ bool
+ Method_needs_lines(obj)
diff -Nru libencode-perl-3.08/debian/patches/series
libencode-perl-3.08/debian/patches/series
--- libencode-perl-3.08/debian/patches/series 2021-08-06 20:49:32.000000000
+0200
+++ libencode-perl-3.08/debian/patches/series 2021-11-01 16:15:54.000000000
+0100
@@ -1 +1,2 @@
0001-mitigate-INC-pollution-when-loading-ConfigLocal.patch
+rt_139622_memory-leak.patch
--- End Message ---