Hello community,

here is the log from the commit of package perl-Sereal-Encoder for 
openSUSE:Factory checked in at 2020-07-15 15:05:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Sereal-Encoder (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Sereal-Encoder.new.3060 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Sereal-Encoder"

Wed Jul 15 15:05:04 2020 rev:8 rq:820834 version:4.017

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Sereal-Encoder/perl-Sereal-Encoder.changes  
2020-06-17 14:50:03.480923803 +0200
+++ 
/work/SRC/openSUSE:Factory/.perl-Sereal-Encoder.new.3060/perl-Sereal-Encoder.changes
        2020-07-15 15:05:25.607433838 +0200
@@ -1,0 +2,15 @@
+Fri Jul 10 09:42:21 UTC 2020 - Tina Müller <[email protected]>
+
+- updated to 4.017
+   see /usr/share/doc/packages/perl-Sereal-Encoder/Changes
+
+  4.017 Thurs July 9, 2020
+      * The build fixes in 4.016 didn't work correctly, this should fix them.
+
+  4.016 Thurs July 9, 2020
+      * Fix some dependency issues in build process
+
+  4.015 Weds  July 8, 2020
+      * Build fixes (missing dependency)
+
+-------------------------------------------------------------------

Old:
----
  Sereal-Encoder-4.014.tar.gz

New:
----
  Sereal-Encoder-4.017.tar.gz

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

Other differences:
------------------
++++++ perl-Sereal-Encoder.spec ++++++
--- /var/tmp/diff_new_pack.I2YUV5/_old  2020-07-15 15:05:29.055437201 +0200
+++ /var/tmp/diff_new_pack.I2YUV5/_new  2020-07-15 15:05:29.059437205 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Sereal-Encoder
-Version:        4.014
+Version:        4.017
 Release:        0
 %define cpan_name Sereal-Encoder
 Summary:        Binary serialization module for Perl (encoder part)

++++++ Sereal-Encoder-4.014.tar.gz -> Sereal-Encoder-4.017.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sereal-Encoder-4.014/Changes 
new/Sereal-Encoder-4.017/Changes
--- old/Sereal-Encoder-4.014/Changes    2020-06-11 18:36:32.000000000 +0200
+++ new/Sereal-Encoder-4.017/Changes    2020-07-09 20:17:48.000000000 +0200
@@ -5,6 +5,15 @@
 *          of the decoder before upgrading to version 4 of the *
 *          encoder!                                            *
 ****************************************************************
+4.017 Thurs July 9, 2020
+    * The build fixes in 4.016 didn't work correctly, this should fix them.
+
+4.016 Thurs July 9, 2020
+    * Fix some dependency issues in build process
+
+4.015 Weds  July 8, 2020
+    * Build fixes (missing dependency)
+
 4.014 Thurs June 11, 2020
     * Fix build issue on non-win32 platforms.
     * Update zstd to 1.4.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sereal-Encoder-4.014/META.json 
new/Sereal-Encoder-4.017/META.json
--- old/Sereal-Encoder-4.014/META.json  2020-06-11 18:44:12.000000000 +0200
+++ new/Sereal-Encoder-4.017/META.json  2020-07-09 20:25:54.000000000 +0200
@@ -4,7 +4,7 @@
       "Steffen Mueller <[email protected]>, Yves Orton <[email protected]>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 7.36, CPAN::Meta::Converter 
version 2.150010",
+   "generated_by" : "ExtUtils::MakeMaker version 7.46, CPAN::Meta::Converter 
version 2.150010",
    "license" : [
       "perl_5"
    ],
@@ -24,7 +24,8 @@
          "requires" : {
             "ExtUtils::ParseXS" : "2.21",
             "File::Find" : "0",
-            "File::Path" : "0"
+            "File::Path" : "0",
+            "Test::LongString" : "0"
          }
       },
       "configure" : {
@@ -62,6 +63,6 @@
          "url" : "git://github.com/Sereal/Sereal.git"
       }
    },
-   "version" : "4.014",
+   "version" : "4.017",
    "x_serialization_backend" : "JSON::PP version 2.27400"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sereal-Encoder-4.014/META.yml 
new/Sereal-Encoder-4.017/META.yml
--- old/Sereal-Encoder-4.014/META.yml   2020-06-11 18:44:12.000000000 +0200
+++ new/Sereal-Encoder-4.017/META.yml   2020-07-09 20:25:54.000000000 +0200
@@ -18,7 +18,7 @@
 configure_requires:
   ExtUtils::MakeMaker: '7.0'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.36, CPAN::Meta::Converter version 
2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.46, CPAN::Meta::Converter version 
2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -34,5 +34,5 @@
 resources:
   bugtracker: https://github.com/Sereal/Sereal/issues
   repository: git://github.com/Sereal/Sereal.git
-version: '4.014'
-x_serialization_backend: 'CPAN::Meta::YAML version 0.011'
+version: '4.017'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sereal-Encoder-4.014/Makefile.PL 
new/Sereal-Encoder-4.017/Makefile.PL
--- old/Sereal-Encoder-4.014/Makefile.PL        2020-02-04 03:42:59.000000000 
+0100
+++ new/Sereal-Encoder-4.017/Makefile.PL        2020-07-09 20:15:48.000000000 
+0200
@@ -76,6 +76,7 @@
         'File::Find'        => 0,
         'File::Path'        => 0,
         'ExtUtils::ParseXS' => '2.21',
+        'Test::LongString'  => '0',
     },
     CONFIGURE_REQUIRES => {
         'ExtUtils::MakeMaker' => '7.0',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sereal-Encoder-4.014/author_tools/hobodecoder.pl 
new/Sereal-Encoder-4.017/author_tools/hobodecoder.pl
--- old/Sereal-Encoder-4.014/author_tools/hobodecoder.pl        2020-02-02 
18:25:40.000000000 +0100
+++ new/Sereal-Encoder-4.017/author_tools/hobodecoder.pl        2020-07-07 
14:30:34.000000000 +0200
@@ -136,7 +136,7 @@
     return unpack( "D", $v );
 }
 
-my $fmt1= "%06u/%06u: %02x%1s %03s %s";
+my $fmt1= "%06d/%06d: %02x%1s %03s %s";
 my $fmt2= "%-6s %-6s  %-2s%1s %-3s %s";
 my $lead_items= 5;    # 1 less than the fmt2
 
@@ -229,7 +229,8 @@
         parse_sv($ind);
     }
     elsif ( $o == SRL_HDR_PAD ) {
-        printf "PAD\n";
+        printf "[PAD]\n";
+        parse_sv($ind);
     }
     elsif ( $o == SRL_HDR_ALIAS ) {
         my $ofs= varint();
@@ -354,7 +355,9 @@
 
 print "\n\nTotal length: " . length($data) . "\n\n";
 
-parse_header();
 while ( length $data ) {
+    parse_header();
+    print "--- End header\n";
     $done= parse_sv("");
+    print "--- End Document\n";
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sereal-Encoder-4.014/lib/Sereal/Encoder/Constants.pm 
new/Sereal-Encoder-4.017/lib/Sereal/Encoder/Constants.pm
--- old/Sereal-Encoder-4.014/lib/Sereal/Encoder/Constants.pm    2020-06-11 
18:36:38.000000000 +0200
+++ new/Sereal-Encoder-4.017/lib/Sereal/Encoder/Constants.pm    2020-07-09 
20:18:52.000000000 +0200
@@ -4,7 +4,7 @@
 require Exporter;
 our @ISA= qw(Exporter);
 
-our $VERSION= '4.014'; # Don't forget to update the TestCompat set for testing 
against installed encoders!
+our $VERSION= '4.017'; # Don't forget to update the TestCompat set for testing 
against installed encoders!
 
 our ( @EXPORT_OK, %DEFINE, %TAG_INFO_HASH, @TAG_INFO_ARRAY );
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sereal-Encoder-4.014/lib/Sereal/Encoder.pm 
new/Sereal-Encoder-4.017/lib/Sereal/Encoder.pm
--- old/Sereal-Encoder-4.014/lib/Sereal/Encoder.pm      2020-06-11 
18:36:38.000000000 +0200
+++ new/Sereal-Encoder-4.017/lib/Sereal/Encoder.pm      2020-07-09 
20:18:52.000000000 +0200
@@ -5,7 +5,7 @@
 use Carp qw/croak/;
 use XSLoader;
 
-our $VERSION= '4.014'; # Don't forget to update the TestCompat set for testing 
against installed decoders!
+our $VERSION= '4.017'; # Don't forget to update the TestCompat set for testing 
against installed decoders!
 our $XS_VERSION= $VERSION; $VERSION= eval $VERSION;
 
 # not for public consumption, just for testing.
@@ -537,7 +537,7 @@
 This mechanism is enabled using the C<freeze_callbacks> option of the encoder.
 It is inspired by the equivalent mechanism in L<CBOR::XS> and differs only
 in one minor detail, explained below. The general mechanism is documented
-in the I<A GENERIC OBJECT SERIALIATION PROTOCOL> section of 
L<Types::Serializer>.
+in the I<A GENERIC OBJECT SERIALIATION PROTOCOL> section of 
L<Types::Serialiser>.
 Similar to CBOR using C<CBOR>, Sereal uses the string C<Sereal> as a serializer
 identifier for the callbacks.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sereal-Encoder-4.014/srl_reader_decompress.h 
new/Sereal-Encoder-4.017/srl_reader_decompress.h
--- old/Sereal-Encoder-4.014/srl_reader_decompress.h    2017-11-12 
21:16:47.000000000 +0100
+++ new/Sereal-Encoder-4.017/srl_reader_decompress.h    2020-07-07 
18:42:11.000000000 +0200
@@ -48,15 +48,43 @@
 SRL_STATIC_INLINE SV *
 srl_realloc_empty_buffer(pTHX_ srl_reader_buffer_t *buf,
                          const STRLEN header_len,
-                         const STRLEN body_len)
+                         const STRLEN body_len,
+                         const STRLEN compressed_len,
+                         char *compression_type,
+                         size_t max_uncompressed_size)
 {
     SV *b_sv;
     srl_reader_char_ptr b;
 
+    /* Sereal::Merger & Sereal::Path::Iterator do not have this option yet */
+    if ((max_uncompressed_size != 0) && (body_len > max_uncompressed_size))
+        croak("The expected uncompressed size is larger than the allowed 
maximum size");
+
     /* Let perl clean this up. Yes, it's not the most efficient thing
      * ever, but it's just one mortal per full decompression, so not
      * a bottle-neck. */
-    b_sv = sv_2mortal( newSV(header_len + body_len + 1 ));
+    if (0) {
+        b_sv = sv_2mortal( newSV(header_len + body_len + 1 ));
+    } else {
+        STRLEN total_requested= header_len + body_len + 1;
+        char *tmp_buf;
+
+        if (total_requested < body_len)
+            croak("Decompressed buffer is impossibly large. Refusing to 
decode.");
+
+        tmp_buf= Perl_malloc(total_requested); /* perl well defined malloc 
wrapper */
+
+        if (!tmp_buf)
+            croak("Insufficient memory to '%s' decompress. Size 
compressed=%"UVuf" uncompressed=%"UVuf,
+                compression_type, compressed_len, total_requested );
+
+        b_sv= sv_newmortal();
+        sv_upgrade(b_sv,SVt_PV);
+        SvPVX(b_sv)= tmp_buf;
+        SvPOK_on(b_sv);
+        SvCUR(b_sv)= header_len + body_len;
+        SvLEN(b_sv)= total_requested;
+    }
     b = (srl_reader_char_ptr) SvPVX(b_sv);
 
     buf->start = b;
@@ -75,7 +103,7 @@
  * The caller *MUST* call SRL_RDR_UPDATE_BODY_POS right after existing from 
this function. */
 
 SRL_STATIC_INLINE UV
-srl_decompress_body_snappy(pTHX_ srl_reader_buffer_t *buf, U8 encoding_flags, 
SV** buf_owner)
+srl_decompress_body_snappy(pTHX_ srl_reader_buffer_t *buf, U8 encoding_flags, 
SV** buf_owner, size_t max_uncompressed_size)
 {
     SV *buf_sv;
     int header_len;
@@ -101,7 +129,8 @@
         SRL_RDR_ERROR(buf, "Invalid Snappy header in Snappy-compressed Sereal 
packet");
 
     /* Allocate output buffer and swap it into place within the bufoder. */
-    buf_sv = srl_realloc_empty_buffer(aTHX_ buf, sereal_header_len, dest_len);
+    buf_sv = srl_realloc_empty_buffer(aTHX_ buf, sereal_header_len, 
(STRLEN)dest_len,
+            compressed_packet_len, "Snappy", max_uncompressed_size);
     if (buf_owner) *buf_owner = buf_sv;
 
     decompress_ok = csnappy_decompress_noheader((char *)(old_pos + header_len),
@@ -125,7 +154,7 @@
  * The caller *MUST* call SRL_RDR_UPDATE_BODY_POS right after existing from 
this function. */
 
 SRL_STATIC_INLINE UV
-srl_decompress_body_zlib(pTHX_ srl_reader_buffer_t *buf, SV** buf_owner)
+srl_decompress_body_zlib(pTHX_ srl_reader_buffer_t *buf, SV** buf_owner, 
size_t max_uncompressed_size)
 {
     SV *buf_sv;
     mz_ulong tmp;
@@ -144,7 +173,8 @@
     bytes_consumed = compressed_packet_len + SRL_RDR_POS_OFS(buf);
 
     /* Allocate output buffer and swap it into place within the decoder. */
-    buf_sv = srl_realloc_empty_buffer(aTHX_ buf, sereal_header_len, 
uncompressed_packet_len);
+    buf_sv = srl_realloc_empty_buffer(aTHX_ buf, sereal_header_len, 
uncompressed_packet_len,
+            compressed_packet_len, "ZLIB", max_uncompressed_size);
     if (buf_owner) *buf_owner = buf_sv;
 
     tmp = uncompressed_packet_len;
@@ -166,7 +196,7 @@
  * SRL_RDR_UPDATE_BODY_POS right after existing from this function. */
 
 SRL_STATIC_INLINE UV
-srl_decompress_body_zstd(pTHX_ srl_reader_buffer_t *buf, SV** buf_owner)
+srl_decompress_body_zstd(pTHX_ srl_reader_buffer_t *buf, SV** buf_owner, 
size_t max_uncompressed_size)
 {
     SV *buf_sv;
     UV bytes_consumed;
@@ -187,7 +217,8 @@
         SRL_RDR_ERROR(buf, "Invalid zstd packet with unknown uncompressed 
size");
 
     /* Allocate output buffer and swap it into place within the decoder. */
-    buf_sv = srl_realloc_empty_buffer(aTHX_ buf, sereal_header_len, (STRLEN) 
uncompressed_packet_len);
+    buf_sv = srl_realloc_empty_buffer(aTHX_ buf, sereal_header_len, (STRLEN) 
uncompressed_packet_len,
+            compressed_packet_len, "zstd", max_uncompressed_size);
     if (buf_owner) *buf_owner = buf_sv;
 
     decompress_code = ZSTD_decompress((void *)buf->pos, (size_t) 
uncompressed_packet_len,


Reply via email to