Package: release.debian.org Severity: normal Tags: buster 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.00-1+deb10u1 to buster. 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----- iQKTBAEBCgB9FiEE0eExbpOnYKgQTYX6uzpoAYZJqgYFAmGACbhfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEQx RTEzMTZFOTNBNzYwQTgxMDREODVGQUJCM0E2ODAxODY0OUFBMDYACgkQuzpoAYZJ qgb/QQ/+M0Xn0YoTRR35v0xJm5MlSjGsOuZsZwM4bPvb0GxILff+FvnArnbnlBVl x0lq+PY8h6geuL+I8HAfhvWcWWmZqVjlhRgIpUYboT+kY/5eQk9QqsnsI9UtDUWj BcGQydt6iS3EsJBqiA0/K2Yo0sHbKMDrSUD12zr8WjFcjdy9wcq6IgYyxlUJeI2Y 9QrESHib0tFlnh4pALc96L2xx4yz/2+oWUehl3M7bOTCRtExCJmS+Tz6j89/WbXC M1BL4xPesGngyd73DcERUyUdYI5YTpgh7BHok9mN8zdG4T+w0x451pt8+gMeHD+m OdtohYRLH2s6LHSvfqeGKM1rGLLk10yehOA1TQ7zny1ZAzqtynW+bfgYzpo5OI/B FiT9SUKaI6Ic+eh9YePCbrkfD8wqhxuCc/KP0ipCojJ/7rEY/WzbSZUL1z/2y4SJ u37+45uQm/UcIWW41alFc1aNav47ZBKFlkUtCacxmWj125pbEFDx/9VnOKE2Xt+S 1/2tF82zNZVuHUnIpi8bEuNutSEPIerfesnTXRzruh5rZ1FTlQO1FXLbseAv8ULY NK7cTViVb5Rh09ZsdKq5qRC1TDAl4ytvaJLULmG9u9/IrLHtolljFVPgD7YYGiCh 3pxpyHAUhE09Z1NfaLSpavXToQKbp48BkL0WOeTUQzqqQqEB0iQ= =PigQ -----END PGP SIGNATURE-----
diff -Nru libencode-perl-3.00/debian/changelog libencode-perl-3.00/debian/changelog --- libencode-perl-3.00/debian/changelog 2019-02-06 19:44:26.000000000 +0100 +++ libencode-perl-3.00/debian/changelog 2021-11-01 16:32:22.000000000 +0100 @@ -1,3 +1,13 @@ +libencode-perl (3.00-1+deb10u1) buster; 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:32:22 +0100 + libencode-perl (3.00-1) unstable; urgency=medium * Import upstream version 3.00. diff -Nru libencode-perl-3.00/debian/patches/rt_139622_memory-leak.patch libencode-perl-3.00/debian/patches/rt_139622_memory-leak.patch --- libencode-perl-3.00/debian/patches/rt_139622_memory-leak.patch 1970-01-01 01:00:00.000000000 +0100 +++ libencode-perl-3.00/debian/patches/rt_139622_memory-leak.patch 2021-11-01 16:32:22.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.00/debian/patches/series libencode-perl-3.00/debian/patches/series --- libencode-perl-3.00/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ libencode-perl-3.00/debian/patches/series 2021-11-01 16:32:22.000000000 +0100 @@ -0,0 +1 @@ +rt_139622_memory-leak.patch