[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#998248: buster-pu: package libencode-perl/3.00-1+deb10u1



Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: debian-perl@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 <gregoa@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 <gregoa@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

Reply to: