Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-YAML-Syck for openSUSE:Factory 
checked in at 2025-10-22 12:14:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-YAML-Syck (Old)
 and      /work/SRC/openSUSE:Factory/.perl-YAML-Syck.new.18484 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-YAML-Syck"

Wed Oct 22 12:14:06 2025 rev:37 rq:1312558 version:1.360.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-YAML-Syck/perl-YAML-Syck.changes    
2025-06-03 19:52:50.402615789 +0200
+++ /work/SRC/openSUSE:Factory/.perl-YAML-Syck.new.18484/perl-YAML-Syck.changes 
2025-10-22 12:17:36.990837830 +0200
@@ -1,0 +2,12 @@
+Tue Oct 14 12:27:18 UTC 2025 - Tina Müller <[email protected]>
+
+- updated to 1.360.0 (1.36)
+   see /usr/share/doc/packages/perl-YAML-Syck/Changes
+
+  1.36 Oct 10 2025
+  - Address memory corruption leading to 'str' value being set on empty keys
+    Thanks @timlegge
+  1.35 Oct 9 2025
+  - Address parsing error related to string detection on read for empty 
strings.
+
+-------------------------------------------------------------------

Old:
----
  YAML-Syck-1.34.tar.gz

New:
----
  README.md
  YAML-Syck-1.36.tar.gz
  _scmsync.obsinfo
  build.specials.obscpio

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

Other differences:
------------------
++++++ perl-YAML-Syck.spec ++++++
--- /var/tmp/diff_new_pack.h1HsYP/_old  2025-10-22 12:17:37.818872710 +0200
+++ /var/tmp/diff_new_pack.h1HsYP/_new  2025-10-22 12:17:37.822872878 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-YAML-Syck
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,19 +16,25 @@
 #
 
 
+%define cpan_name YAML-Syck
 Name:           perl-YAML-Syck
-Version:        1.34
+Version:        1.360.0
 Release:        0
-%define cpan_name YAML-Syck
-Summary:        Perl YAML loader and dumper
+# 1.36 -> normalize -> 1.360.0
+%define cpan_version 1.36
 License:        MIT
-Group:          Development/Libraries/Perl
+Summary:        Perl YAML loader and dumper
 URL:            https://metacpan.org/release/%{cpan_name}
-Source0:        
https://cpan.metacpan.org/authors/id/T/TO/TODDR/%{cpan_name}-%{version}.tar.gz
+Source0:        
https://cpan.metacpan.org/authors/id/T/TO/TODDR/%{cpan_name}-%{cpan_version}.tar.gz
 Source1:        cpanspec.yml
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+Source100:      README.md
 BuildRequires:  perl
 BuildRequires:  perl-macros
+Provides:       perl(JSON::Syck) = %{version}
+Provides:       perl(YAML::Dumper::Syck)
+Provides:       perl(YAML::Loader::Syck)
+Provides:       perl(YAML::Syck) = %{version}
+%undefine       __perllib_provides
 %{perl_requires}
 
 %description
@@ -42,8 +48,9 @@
 backward-compatibility with 'YAML.pm'.
 
 %prep
-%setup -q -n %{cpan_name}-%{version}
-find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path 
"*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644
+%autosetup -n %{cpan_name}-%{cpan_version} -p1
+
+find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path 
"*/script/*" ! -path "*/scripts/*" ! -name "configure" -print0 | xargs -0 chmod 
644
 
 %build
 # https://github.com/cpan-authors/YAML-Syck/issues/61
@@ -59,7 +66,6 @@
 %perl_gen_filelist
 
 %files -f %{name}.files
-%defattr(-,root,root,755)
 %doc Changes COMPATIBILITY README.md
 %license COPYING
 

++++++ README.md ++++++

## Build Results

Current state of perl in openSUSE:Factory is

![Factory build 
results](https://br.opensuse.org/status/openSUSE:Factory/perl-YAML-Syck/standard)

The current state of perl in the devel project build (devel:languages:perl)

![Devel project build 
results](https://br.opensuse.org/status/devel:languages:perl/perl-YAML-Syck)



++++++ YAML-Syck-1.34.tar.gz -> YAML-Syck-1.36.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/YAML-Syck-1.34/Changes new/YAML-Syck-1.36/Changes
--- old/YAML-Syck-1.34/Changes  2020-10-26 21:18:49.000000000 +0100
+++ new/YAML-Syck-1.36/Changes  2025-10-10 06:49:49.000000000 +0200
@@ -1,3 +1,12 @@
+1.36 Oct 10 2025
+
+- Address memory corruption leading to 'str' value being set on empty keys
+  Thanks @timlegge
+
+1.35 Oct 9 2025
+
+- Address parsing error related to string detection on read for empty strings.
+
 1.34 Oct 26 2020
 
 - #50 Stop depending on constants dropped from Perl 5.28
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/YAML-Syck-1.34/MANIFEST new/YAML-Syck-1.36/MANIFEST
--- old/YAML-Syck-1.34/MANIFEST 2020-10-26 21:19:18.000000000 +0100
+++ new/YAML-Syck-1.36/MANIFEST 2025-10-10 06:55:07.000000000 +0200
@@ -51,6 +51,7 @@
 t/json-singlequote.t
 t/leak.t
 t/load-blessed.t
+t/str-type-regression.t
 t/TestYAML.pm
 t/yaml-alias.t
 t/yaml-blessed-ref.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/YAML-Syck-1.34/META.json new/YAML-Syck-1.36/META.json
--- old/YAML-Syck-1.34/META.json        2020-10-26 21:19:18.000000000 +0100
+++ new/YAML-Syck-1.36/META.json        2025-10-10 06:55:07.000000000 +0200
@@ -4,7 +4,7 @@
       "Todd Rinaldo <[email protected]>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter 
version 2.150010",
+   "generated_by" : "ExtUtils::MakeMaker version 7.76, CPAN::Meta::Converter 
version 2.150010",
    "license" : [
       "mit"
    ],
@@ -49,6 +49,6 @@
          "url" : "http://github.com/toddr/YAML-Syck";
       }
    },
-   "version" : "1.34",
-   "x_serialization_backend" : "JSON::PP version 4.04"
+   "version" : "1.36",
+   "x_serialization_backend" : "JSON::PP version 4.16"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/YAML-Syck-1.34/META.yml new/YAML-Syck-1.36/META.yml
--- old/YAML-Syck-1.34/META.yml 2020-10-26 21:19:18.000000000 +0100
+++ new/YAML-Syck-1.36/META.yml 2025-10-10 06:55:07.000000000 +0200
@@ -7,7 +7,7 @@
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 
2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.76, CPAN::Meta::Converter version 
2.150010'
 license: mit
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -24,5 +24,5 @@
   homepage: http://github.com/toddr/YAML-Syck
   license: http://dev.perl.org/licenses/
   repository: http://github.com/toddr/YAML-Syck
-version: '1.34'
-x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
+version: '1.36'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.020'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/YAML-Syck-1.34/lib/JSON/Syck.pm 
new/YAML-Syck-1.36/lib/JSON/Syck.pm
--- old/YAML-Syck-1.34/lib/JSON/Syck.pm 2020-10-26 21:17:58.000000000 +0100
+++ new/YAML-Syck-1.36/lib/JSON/Syck.pm 2025-10-10 06:50:33.000000000 +0200
@@ -4,7 +4,7 @@
 use Exporter;
 use YAML::Syck ();
 
-our $VERSION   = '1.34';
+our $VERSION   = '1.36';
 our @EXPORT_OK = qw( Load Dump LoadFile DumpFile DumpInto );
 our @ISA       = qw/Exporter/;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/YAML-Syck-1.34/lib/YAML/Syck.pm 
new/YAML-Syck-1.36/lib/YAML/Syck.pm
--- old/YAML-Syck-1.34/lib/YAML/Syck.pm 2020-10-26 21:17:58.000000000 +0100
+++ new/YAML-Syck-1.36/lib/YAML/Syck.pm 2025-10-10 06:50:33.000000000 +0200
@@ -10,7 +10,7 @@
 use Exporter;
 use XSLoader ();
 
-our $VERSION   = '1.34';
+our $VERSION   = '1.36';
 our @EXPORT    = qw( Dump Load DumpFile LoadFile );
 our @EXPORT_OK = qw( DumpInto );
 our @ISA       = qw( Exporter );
@@ -71,7 +71,7 @@
 
     return 1 if ( ref($h) eq 'GLOB' );
     return 1 if ( ref( \$h ) eq 'GLOB' );
-    return 1 if ( ref($h) =~ m/^IO::/ );
+    return 1 if ( index( ref($h), 'IO::' ) == 0 );
 
     return;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/YAML-Syck-1.34/t/str-type-regression.t 
new/YAML-Syck-1.36/t/str-type-regression.t
--- old/YAML-Syck-1.34/t/str-type-regression.t  1970-01-01 01:00:00.000000000 
+0100
+++ new/YAML-Syck-1.36/t/str-type-regression.t  2025-10-09 23:46:16.000000000 
+0200
@@ -0,0 +1,72 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+
+use Test::More;
+use YAML::Syck;
+use File::Temp qw(tempfile);
+
+# This test verifies a bug fix where nodes with type_id "str" and empty values
+# would sometimes have their value set to the literal string "str" instead of
+# the actual empty string value from the YAML file.
+#
+# The bug was intermittent and more likely to occur with:
+# 1. Large files with many keys (5000+ keys)
+# 2. Keys with realistic lengths (15-200 bytes) matching locale strings
+# 3. Keys with special characters, punctuation, quotes, brackets
+# 4. Repeated loading from disk (memory reuse patterns)
+
+# Create realistic test data matching the patterns that trigger the bug
+# Based on actual locale message keys that exposed the issue
+my @key_templates = (
+    '"Message [_1] - [_2] characters"',
+    '"Warning: [_1] does not refer to a valid email account."',
+    '"Failed to get a valid result from [output,class,securityadmin,code] 
while requesting [output,class,SETDIGESTAUTH,code]."',
+    '"The system will use the signed certificate for the hostname, on the [_1] 
service."',
+    '"Enter additional notes about the file system. You can view these notes 
in the list of mounted filesystems."',
+    '"Note: By selecting Daily backup option, you will receive Monthly and 
Weekly as well."',
+    '"This setting requires a separate drive or other mount point."',
+    '"Would you like to secure the following additional 
[numerate,_2,domain,domains] with this certificate? [list_and_quoted,_1]"',
+    '"Failed to get the current table auto-increment values while patching 
table auto-increment values in the pristine 11.48 horde database with errors: 
[_1]"',
+    '"A Known Network is an [output,abbr,IP,Internet Protocol] address range 
or netblock that contains an [output,abbr,IP,Internet Protocol] address."',
+);
+
+my $yaml_content = "---\n";
+for my $i ( 1 .. 18720 ) {
+    my $template = $key_templates[ $i % scalar(@key_templates) ];
+    my $key      = $template;
+    $key =~ s/\[_\d+\]/item_$i/g;    # Replace placeholders with unique values
+    $yaml_content .= "$key: ''\n";
+}
+
+# Write to a temporary file - LoadFile triggers the bug more reliably than Load
+my ( $fh, $filename ) = tempfile( SUFFIX => '.yaml', UNLINK => 1 );
+print $fh $yaml_content;
+close $fh;
+
+my $failed     = 0;
+my $iterations = 500;    # Run many times to catch the intermittent bug
+
+for my $attempt ( 1 .. $iterations ) {
+    my $data = LoadFile($filename);
+
+    # Check that all values are empty strings, not the literal "str"
+    for my $key ( keys %$data ) {
+        if ( $data->{$key} eq 'str' ) {
+            fail("FAIL at iteration $attempt: key '$key' has value 'str' 
instead of empty string");
+            $failed++;
+            last;
+        }
+        elsif ( $data->{$key} ne '' ) {
+            fail("FAIL at iteration $attempt: key '$key' has unexpected value: 
'$data->{$key}'");
+            $failed++;
+            last;
+        }
+    }
+
+    last if $failed;
+}
+
+ok( !$failed, "All empty string values remain empty strings across $iterations 
iterations" );
+
+done_testing();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/YAML-Syck-1.34/token.c new/YAML-Syck-1.36/token.c
--- old/YAML-Syck-1.34/token.c  2018-10-25 21:20:12.000000000 +0200
+++ new/YAML-Syck-1.36/token.c  2025-10-10 06:48:53.000000000 +0200
@@ -1552,6 +1552,7 @@
         int qidx = 0;
         int qcapa = 100;
         char *qstr = S_ALLOC_N( char, qcapa );
+        qstr[0] = '\0';
         SyckLevel *plvl;
         int parentIndent;
 
@@ -1804,6 +1805,7 @@
         int qidx = 0;
         int qcapa = 100;
         char *qstr = S_ALLOC_N( char, qcapa );
+        qstr[0] = '\0';
 
 SingleQuote2:
         YYTOKEN = YYCURSOR;
@@ -1962,6 +1964,7 @@
         int qidx = 0;
         int qcapa = 100;
         char *qstr = S_ALLOC_N( char, qcapa );
+        qstr[0] = '\0';
 
 DoubleQuote2:
         YYTOKEN = YYCURSOR;
@@ -2232,6 +2235,7 @@
         int qidx = 0;
         int qcapa = 100;
         char *qstr = S_ALLOC_N( char, qcapa );
+        qstr[0] = '\0';
 
 TransferMethod2:
         YYTOKTMP = YYCURSOR;
@@ -2450,6 +2454,7 @@
         SyckLevel *lvl = CURRENT_LEVEL();
         int parentIndent = -1;
 
+        qstr[0] = '\0';
         switch ( *yyt )
         {
             case '|': blockType = BLOCK_LIT; break;
@@ -2472,7 +2477,6 @@
             }
         }
 
-        qstr[0] = '\0';
         YYTOKEN = YYCURSOR;
 
 ScalarBlock2:

++++++ _scmsync.obsinfo ++++++
mtime: 1760444839
commit: b704f10a70923d690344a7fd10cfb748e1bfd03b389461fed684b88ea925b4c7
url: https://src.opensuse.org/perl/perl-YAML-Syck.git
revision: b704f10a70923d690344a7fd10cfb748e1bfd03b389461fed684b88ea925b4c7
projectscmsync: https://src.opensuse.org/perl/_ObsPrj

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2025-10-14 16:20:20.000000000 +0200
@@ -0,0 +1 @@
+.osc

Reply via email to