Hello community,
here is the log from the commit of package perl-Cpanel-JSON-XS for
openSUSE:Factory checked in at 2020-02-13 10:11:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Cpanel-JSON-XS (Old)
and /work/SRC/openSUSE:Factory/.perl-Cpanel-JSON-XS.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Cpanel-JSON-XS"
Thu Feb 13 10:11:10 2020 rev:26 rq:773596 version:4.19
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Cpanel-JSON-XS/perl-Cpanel-JSON-XS.changes
2019-12-17 16:54:43.453343500 +0100
+++
/work/SRC/openSUSE:Factory/.perl-Cpanel-JSON-XS.new.26092/perl-Cpanel-JSON-XS.changes
2020-02-13 10:11:13.076329618 +0100
@@ -1,0 +2,9 @@
+Fri Feb 7 03:11:42 UTC 2020 - <[email protected]>
+
+- updated to 4.19
+ see /usr/share/doc/packages/perl-Cpanel-JSON-XS/Changes
+
+ 4.19 2020-02-06 (rurban)
+ - Fix typed decode memory leak (#160 by Pali).
+
+-------------------------------------------------------------------
Old:
----
Cpanel-JSON-XS-4.18.tar.gz
New:
----
Cpanel-JSON-XS-4.19.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Cpanel-JSON-XS.spec ++++++
--- /var/tmp/diff_new_pack.lKDysL/_old 2020-02-13 10:11:13.620329934 +0100
+++ /var/tmp/diff_new_pack.lKDysL/_new 2020-02-13 10:11:13.620329934 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-Cpanel-JSON-XS
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: perl-Cpanel-JSON-XS
-Version: 4.18
+Version: 4.19
Release: 0
%define cpan_name Cpanel-JSON-XS
Summary: CPanel fork of JSON::XS, fast and correct serializing
++++++ Cpanel-JSON-XS-4.18.tar.gz -> Cpanel-JSON-XS-4.19.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.18/Changes
new/Cpanel-JSON-XS-4.19/Changes
--- old/Cpanel-JSON-XS-4.18/Changes 2019-12-13 16:49:38.000000000 +0100
+++ new/Cpanel-JSON-XS-4.19/Changes 2020-02-06 16:04:01.000000000 +0100
@@ -2,6 +2,9 @@
TODO: http://stevehanov.ca/blog/index.php?id=104 compression
+4.19 2020-02-06 (rurban)
+ - Fix typed decode memory leak (#160 by Pali).
+
4.18 2019-12-13 (rurban)
- Add new method ->type_all_string (#156 by Pali).
When type_all_string is set then encode method produce stable
deterministic
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.18/MANIFEST
new/Cpanel-JSON-XS-4.19/MANIFEST
--- old/Cpanel-JSON-XS-4.18/MANIFEST 2019-12-13 16:53:55.000000000 +0100
+++ new/Cpanel-JSON-XS-4.19/MANIFEST 2020-02-06 16:07:16.000000000 +0100
@@ -43,6 +43,7 @@
t/119_type_decode.t
t/11_pc_expo.t
t/120_type_all_string.t
+t/121_memleak.t
t/12_blessed.t
t/13_limit.t
t/14_latin1.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.18/META.json
new/Cpanel-JSON-XS-4.19/META.json
--- old/Cpanel-JSON-XS-4.18/META.json 2019-12-13 16:53:55.000000000 +0100
+++ new/Cpanel-JSON-XS-4.19/META.json 2020-02-06 16:07:15.000000000 +0100
@@ -100,7 +100,7 @@
"url" : "https://github.com/rurban/Cpanel-JSON-XS"
}
},
- "version" : "4.18",
+ "version" : "4.19",
"x_contributors" : [
"Ashley Willis <[email protected]>",
"Chip Salzenberg <[email protected]>",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.18/META.yml
new/Cpanel-JSON-XS-4.19/META.yml
--- old/Cpanel-JSON-XS-4.18/META.yml 2019-12-13 16:53:55.000000000 +0100
+++ new/Cpanel-JSON-XS-4.19/META.yml 2020-02-06 16:07:15.000000000 +0100
@@ -48,7 +48,7 @@
bugtracker: https://github.com/rurban/Cpanel-JSON-XS/issues
license: http://dev.perl.org/licenses/
repository: https://github.com/rurban/Cpanel-JSON-XS
-version: '4.18'
+version: '4.19'
x_contributors:
- 'Ashley Willis <[email protected]>'
- 'Chip Salzenberg <[email protected]>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.18/SIGNATURE
new/Cpanel-JSON-XS-4.19/SIGNATURE
--- old/Cpanel-JSON-XS-4.18/SIGNATURE 2019-12-13 16:53:55.000000000 +0100
+++ new/Cpanel-JSON-XS-4.19/SIGNATURE 2020-02-06 16:07:16.000000000 +0100
@@ -19,14 +19,14 @@
SHA256 fb7ff638c0af0c5dde7148f2b00836ca1afd14fdde99f874922b98b08725af36
.travis.yml
SHA256 c3f2a1a4f66382f796f71a571946722edba53cf3238152b26fd325f4c2f1a20f
.whitesource
SHA256 8de3540a3cd7ecc9a9dcb48975fe852c082fe17d4462f87bb72aa7cc47f083ad COPYING
-SHA256 eaf2458c09ef069043ec22ffcff989e4b1bbf87879988c71d6d2f78bd94e6a81 Changes
-SHA256 b676c2364f0118f6b973c4a0d3021a5f2b9746a6d3111f518f8ab0725b34123a
MANIFEST
-SHA256 5e3f2d875cae70a48a2ff082d54719d3b98a0c84e088822edecf852142c84aab
META.json
-SHA256 3ebbd25e71eef86e0719b75e886fb00fa6514baac6d21ecc893ac6eab4291108
META.yml
+SHA256 5f61536a05c07c011ff3491c4dd37bc29dc9e0daafeea63d88efc1b511e48659 Changes
+SHA256 93c01edfcdc61846f6d525c3c463edb70c37640b19efd3560920aff9a6f0cf54
MANIFEST
+SHA256 81a8cae7d45b16996ee5e8b17eea1fb5ee09005bc8151568362e0cc5ad8e3e85
META.json
+SHA256 0223313bb42d022919df2d7864c05d48fcf45cf2518b1e698ef8552c3a32bab0
META.yml
SHA256 e4e901f402d07d3ca2b4a8ce90b1912980072367bf61faa95874e4e3b38cdc32
Makefile.PL
SHA256 e2bbfc6c67915abca519b1e2172384f6229e8c4c8e08c140ad4533a349850d1b README
-SHA256 1b1b58a4f39cbcabb6ad6a5699daac64550244a3c8f65a4f82f4ebbbd6513942 XS.pm
-SHA256 6d683a305a9692731f2dc8eac2bce9da9b64bba438e50d5cea9e3e8b97d8b4d1 XS.xs
+SHA256 09a00f40c0721ea88e1972fb5a1619f39ce8ad20216b4b2873594db19fc7865c XS.pm
+SHA256 6982a29643663d2eb2c33fdea42c85c2a4351ccf0beea7dfddc36448e47390c5 XS.xs
SHA256 c95e4b970183cbd6d1ec9c88c37a80f12bd2b66ed6be3c008ffd578d2f622c01
XS/Boolean.pm
SHA256 20596259e7e399ed1984a469a9a907be878499406d5285a11f1ab98f93aff44f
XS/Type.pm
SHA256 2f34a530b7ce981b0df9aacd2b6944ccf74c4a7f8bb49fde57b342663e7feb26
bin/cpanel_json_xs
@@ -61,6 +61,7 @@
SHA256 5f4f0f1d4221f5b5c28c1988f4d127462a42f36ae82fedd7319c8e0fbfbd57eb
t/119_type_decode.t
SHA256 8f0f898f0499424740eea5e2537e97faee949b1e3981a1588b1a61645d942d3c
t/11_pc_expo.t
SHA256 67295534f9f44b6c2fd9375a4baff3b959318ce2468d466204efd1aeb8caadae
t/120_type_all_string.t
+SHA256 af3adbcc14e32df9fc2ef3f9a1502c1335a9e2da36ac54119be1f98fcabb4264
t/121_memleak.t
SHA256 9807d307292461a749f5e1fe4b3b1469e743ea2413e6e6c19208304ca5926f69
t/12_blessed.t
SHA256 43a8dfc79182d0ea1462e9266bad1197bc172a9698c0fd002a8e9b0324112ca7
t/13_limit.t
SHA256 99275341c61a98875e26651c858941a299bf6a6fb99a2d60e04d22395b69e3fb
t/14_latin1.t
@@ -443,12 +444,12 @@
SHA256 aca6f846869ab2e4881e807739086e1535b1438bd0e23d7a021360742736a6a9
xt/pod.t
-----BEGIN PGP SIGNATURE-----
-iQEzBAEBCAAdFiEEKJWogdNCcPq/6PdHtPYzOeZdZBQFAl3ztBMACgkQtPYzOeZd
-ZBRdHwf9G3PquzSTKFHjlbEtN5TZlQIEg+mrhoylBm8l0fU7EutKrtJ9CzrWQc64
-i/5Meyg4n0V7+yrIsOPYwl5/WeJaA4Tmm8zeZQvulfjhQvy0P/Drw97iSW/6+AyS
-vqWn1+o43ThgbdGs3RaV9nCZh6C9CYtSsygb8yqV5z4XPZoMI5xUL0VT/aEjss8u
-8gSIijMS2LQDS3d8MkK6dc9dEmvSCjwtaTIlDLQ7kLlwnSKybFFU3GGa/X92nw/1
-N8ZuZJvLjpzBFrCsz9PR5KBY262Wl0aA48lZ1ltiIFuf03zKjyxzKvncSZToT7Ga
-lrxYLm7gRvEdzNcz7zw0YTreyLgcIQ==
-=Pe4m
+iQEzBAEBCAAdFiEEKJWogdNCcPq/6PdHtPYzOeZdZBQFAl48K6QACgkQtPYzOeZd
+ZBQtnQgAkxQZ9Ap1lfUlYhD8ftxozV4FhH7cQH4EgeAJFXHVC7nbrgThLEpz4kEc
++8IiFKXP2sAil0CyndP6WFoUzUXPxZmkHCkBvDv9eSBdnr9g4lPCjzSsdZhQfj4X
+s8WlOtsvI/CzKLic50mf9dtQRZuxpoaQUrEteuh9hHrXwLoFYiO/E0j/Q1NEsMxC
+AWg9+e/VjTmqazl1Gw9LF7SPWhyvqT4f6zMxGDwrmZHRyaJckvC9mV3k10BRT3+t
+BapdsFUdjZQwzXpypnjPjhs+g/h43y9BkASzCH2ik4K/Mp7GIDdNZcPlVCc1D8lp
+uOApb+PZGS5M8Crr7Z/7PBqiBO6ZSg==
+=IUIv
-----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.18/XS.pm
new/Cpanel-JSON-XS-4.19/XS.pm
--- old/Cpanel-JSON-XS-4.18/XS.pm 2019-12-13 16:49:38.000000000 +0100
+++ new/Cpanel-JSON-XS-4.19/XS.pm 2020-02-06 16:04:11.000000000 +0100
@@ -1,5 +1,5 @@
package Cpanel::JSON::XS;
-our $VERSION = '4.18';
+our $VERSION = '4.19';
our $XS_VERSION = $VERSION;
# $VERSION = eval $VERSION;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.18/XS.xs
new/Cpanel-JSON-XS-4.19/XS.xs
--- old/Cpanel-JSON-XS-4.18/XS.xs 2019-12-13 16:49:38.000000000 +0100
+++ new/Cpanel-JSON-XS-4.19/XS.xs 2020-01-24 19:52:19.000000000 +0100
@@ -3613,6 +3613,8 @@
typeav = newAV ();
typerv = newRV_noinc ((SV *)typeav);
SvSetMagicSV (typesv, typerv);
+ /* SvSetMagicSV increments refcount of typerv, so we need to decrement
it */
+ SvREFCNT_dec (typerv);
}
if (*dec->cur == ']')
@@ -3686,6 +3688,8 @@
typehv = newHV ();
typerv = newRV_noinc ((SV *)typehv);
SvSetMagicSV (typesv, typerv);
+ /* SvSetMagicSV increments refcount of typerv, so we need to decrement
it */
+ SvREFCNT_dec (typerv);
}
if (*dec->cur == '}')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.18/t/121_memleak.t
new/Cpanel-JSON-XS-4.19/t/121_memleak.t
--- old/Cpanel-JSON-XS-4.18/t/121_memleak.t 1970-01-01 01:00:00.000000000
+0100
+++ new/Cpanel-JSON-XS-4.19/t/121_memleak.t 2020-01-24 19:52:19.000000000
+0100
@@ -0,0 +1,21 @@
+use strict;
+use warnings;
+
+use Cpanel::JSON::XS;
+use Devel::Peek;
+
+# Devel::Peek::SvREFCNT(%hash) is supported since 5.19.3
+use Test::More ($] < 5.019003) ? (skip_all => "5.19.3") : (tests => 1);
+
+my $json = Cpanel::JSON::XS->new;
+
+my $x = '{"some": "json"}';
+$json->decode($x, my $types);
+is(Devel::Peek::SvREFCNT(%{$types}), 1);
+
+__END__
+# Following code triggers memory leak when SvREFCNT is not 1
+for (1..5000000) {
+ my $var;
+ $json->decode($x, $var);
+}