Hello community,

here is the log from the commit of package perl-JSON-XS for openSUSE:Factory 
checked in at 2019-03-04 09:22:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-JSON-XS (Old)
 and      /work/SRC/openSUSE:Factory/.perl-JSON-XS.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-JSON-XS"

Mon Mar  4 09:22:59 2019 rev:22 rq:680855 version:4.01

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-JSON-XS/perl-JSON-XS.changes        
2018-12-12 17:27:15.414970329 +0100
+++ /work/SRC/openSUSE:Factory/.perl-JSON-XS.new.28833/perl-JSON-XS.changes     
2019-03-04 09:23:04.284571871 +0100
@@ -1,0 +2,10 @@
+Sat Mar  2 15:13:04 UTC 2019 - Stephan Kulow <co...@suse.com>
+
+- updated to 4.01
+   see /usr/share/doc/packages/perl-JSON-XS/Changes
+
+  4.01 Sun Feb 24 05:03:30 CET 2019
+       - fix some stack corruption caused mostly when calling methods
+            in list context (tewstcase by Wesley Schwengle).
+
+-------------------------------------------------------------------

Old:
----
  JSON-XS-4.0.tar.gz

New:
----
  JSON-XS-4.01.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-JSON-XS.spec ++++++
--- /var/tmp/diff_new_pack.fScfB0/_old  2019-03-04 09:23:05.320571685 +0100
+++ /var/tmp/diff_new_pack.fScfB0/_new  2019-03-04 09:23:05.320571685 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-JSON-XS
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 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-JSON-XS
-Version:        4.0
+Version:        4.01
 Release:        0
 %define cpan_name JSON-XS
 Summary:        JSON serialising/deserialising, done correctly and fast

++++++ JSON-XS-4.0.tar.gz -> JSON-XS-4.01.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/JSON-XS-4.0/Changes new/JSON-XS-4.01/Changes
--- old/JSON-XS-4.0/Changes     2018-11-19 11:26:51.000000000 +0100
+++ new/JSON-XS-4.01/Changes    2019-02-24 05:03:35.000000000 +0100
@@ -6,8 +6,11 @@
 TODO: investigate magic (Eric Brine)
 TODO: [PATCH] Types::Serialiser: Inline true(), false() and error() functions
 
+4.01 Sun Feb 24 05:03:30 CET 2019
+       - fix some stack corruption caused mostly when calling methods
+          in list context (tewstcase by Wesley Schwengle).
+
 4.0  Fri Nov 16 00:06:54 CET 2018
-       - 4.0 pre-release, do not use other than for testing.
        - SECURITY IMPLICATION: this release enables allow_nonref by default
           for compatibnility with RFC 7159 and newer. See "old" vs. "new"
           JSON under SECURITY CONSIDERATIONS.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/JSON-XS-4.0/META.json new/JSON-XS-4.01/META.json
--- old/JSON-XS-4.0/META.json   2018-11-19 11:27:09.000000000 +0100
+++ new/JSON-XS-4.01/META.json  2019-02-24 05:08:10.000000000 +0100
@@ -39,6 +39,6 @@
       }
    },
    "release_status" : "stable",
-   "version" : "4.0",
+   "version" : "4.01",
    "x_serialization_backend" : "JSON::PP version 2.27300"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/JSON-XS-4.0/META.yml new/JSON-XS-4.01/META.yml
--- old/JSON-XS-4.0/META.yml    2018-11-19 11:27:09.000000000 +0100
+++ new/JSON-XS-4.01/META.yml   2019-02-24 05:08:10.000000000 +0100
@@ -21,5 +21,5 @@
 requires:
   Types::Serialiser: '0'
   common::sense: '0'
-version: '4.0'
+version: '4.01'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.012'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/JSON-XS-4.0/XS.pm new/JSON-XS-4.01/XS.pm
--- old/JSON-XS-4.0/XS.pm       2018-11-19 11:26:55.000000000 +0100
+++ new/JSON-XS-4.01/XS.pm      2019-02-24 05:03:43.000000000 +0100
@@ -89,7 +89,7 @@
 
 use common::sense;
 
-our $VERSION = '4.0';
+our $VERSION = '4.01';
 our @ISA = qw(Exporter);
 
 our @EXPORT = qw(encode_json decode_json);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/JSON-XS-4.0/XS.xs new/JSON-XS-4.01/XS.xs
--- old/JSON-XS-4.0/XS.xs       2018-11-15 23:20:25.000000000 +0100
+++ new/JSON-XS-4.01/XS.xs      2019-02-24 05:01:16.000000000 +0100
@@ -1506,7 +1506,7 @@
   sv = newRV_noinc ((SV *)hv);
 
   // check filter callbacks
-  if (dec->json.flags & F_HOOK)
+  if (expect_false (dec->json.flags & F_HOOK))
     {
       if (dec->json.cb_sk_object && HvKEYS (hv) == 1)
         {
@@ -1558,15 +1558,12 @@
           PUTBACK; count = call_sv (dec->json.cb_object, G_ARRAY); SPAGAIN;
 
           if (count == 1)
-            {
-              sv = newSVsv (POPs);
-              FREETMPS; LEAVE;
-              return sv;
-            }
-          else if (count)
+            sv = newSVsv (POPs);
+          else if (count == 0)
+            SvREFCNT_inc (sv);
+          else
             croak ("filter_json_object callbacks must not return more than one 
scalar");
 
-          SvREFCNT_inc (sv);
           FREETMPS; LEAVE;
         }
     }
@@ -2211,20 +2208,18 @@
 
 void encode (JSON *self, SV *scalar)
        PPCODE:
-        PUTBACK; scalar = encode_json (scalar, self); SPAGAIN;
-        XPUSHs (scalar);
+        PUTBACK; XPUSHs (encode_json (scalar, self));
 
 void decode (JSON *self, SV *jsonstr)
        PPCODE:
-        PUTBACK; jsonstr = decode_json (jsonstr, self, 0); SPAGAIN;
-        XPUSHs (jsonstr);
+        PUTBACK; XPUSHs (decode_json (jsonstr, self, 0));
 
 void decode_prefix (JSON *self, SV *jsonstr)
        PPCODE:
 {
        SV *sv;
         STRLEN offset;
-        PUTBACK; sv = decode_json (jsonstr, self, &offset); SPAGAIN;
+        PUTBACK; sv = decode_json (jsonstr, self, &offset);
         EXTEND (SP, 2);
         PUSHs (sv);
         PUSHs (sv_2mortal (newSVuv (ptr_to_index (jsonstr, SvPV_nolen 
(jsonstr) + offset))));
@@ -2307,7 +2302,7 @@
                     }
                 }
 
-              PUTBACK; sv = decode_json (self->incr_text, self, &offset); 
SPAGAIN;
+              PUTBACK; sv = decode_json (self->incr_text, self, &offset);
               XPUSHs (sv);
 
               self->incr_pos -= offset;
@@ -2369,8 +2364,7 @@
         JSON json;
         json_init (&json);
         json.flags |= F_UTF8;
-        PUTBACK; scalar = encode_json (scalar, &json); SPAGAIN;
-        XPUSHs (scalar);
+        PUTBACK; XPUSHs (encode_json (scalar, &json));
 }
 
 void decode_json (SV *jsonstr)
@@ -2379,7 +2373,6 @@
         JSON json;
         json_init (&json);
         json.flags |= F_UTF8;
-        PUTBACK; jsonstr = decode_json (jsonstr, &json, 0); SPAGAIN;
-        XPUSHs (jsonstr);
+        PUTBACK; XPUSHs (decode_json (jsonstr, &json, 0));
 }
 


Reply via email to