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);
+}


Reply via email to