Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-Text-CSV_XS for openSUSE:Factory checked in at 2023-09-29 21:13:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Text-CSV_XS (Old) and /work/SRC/openSUSE:Factory/.perl-Text-CSV_XS.new.28202 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "perl-Text-CSV_XS" Fri Sep 29 21:13:09 2023 rev:51 rq:1113825 version:1.520.0 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Text-CSV_XS/perl-Text-CSV_XS.changes 2023-08-09 17:24:32.549114756 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Text-CSV_XS.new.28202/perl-Text-CSV_XS.changes 2023-09-29 21:13:59.694660154 +0200 @@ -1,0 +2,9 @@ +Fri Sep 22 03:08:01 UTC 2023 - Tina Müller <timueller+perl@suse.de> + +- updated to 1.52 + see /usr/share/doc/packages/perl-Text-CSV_XS/ChangeLog + + 1.52 - 2023-09-21, H.Merijn Brand + * Fix possible coredump in cache on non-IO parse (issue 49) + +------------------------------------------------------------------- Old: ---- Text-CSV_XS-1.51.tgz New: ---- Text-CSV_XS-1.52.tgz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Text-CSV_XS.spec ++++++ --- /var/tmp/diff_new_pack.E7LsR1/_old 2023-09-29 21:14:00.742697967 +0200 +++ /var/tmp/diff_new_pack.E7LsR1/_new 2023-09-29 21:14:00.742697967 +0200 @@ -18,9 +18,9 @@ %define cpan_name Text-CSV_XS Name: perl-Text-CSV_XS -Version: 1.510.0 +Version: 1.520.0 Release: 0 -%define cpan_version 1.51 +%define cpan_version 1.52 License: Artistic-1.0 OR GPL-1.0-or-later Summary: Comma-Separated Values manipulation routines URL: https://metacpan.org/release/%{cpan_name} @@ -28,7 +28,7 @@ Source1: cpanspec.yml BuildRequires: perl BuildRequires: perl-macros -Provides: perl(Text::CSV_XS) = 1.510.0 +Provides: perl(Text::CSV_XS) = 1.520.0 %define __perllib_provides /bin/true Recommends: perl(Encode) >= 3.19 %{perl_requires} ++++++ Text-CSV_XS-1.51.tgz -> Text-CSV_XS-1.52.tgz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Text-CSV_XS-1.51/CSV_XS.pm new/Text-CSV_XS-1.52/CSV_XS.pm --- old/Text-CSV_XS-1.51/CSV_XS.pm 2023-08-07 13:57:49.000000000 +0200 +++ new/Text-CSV_XS-1.52/CSV_XS.pm 2023-09-20 18:28:07.000000000 +0200 @@ -23,7 +23,7 @@ use Carp; use vars qw( $VERSION @ISA @EXPORT_OK %EXPORT_TAGS ); -$VERSION = "1.51"; +$VERSION = "1.52"; @ISA = qw( Exporter ); XSLoader::load ("Text::CSV_XS", $VERSION); @@ -2709,7 +2709,7 @@ In this call, C<keep_meta_info> is disabled. If C<$offset> is negative, as with C<splice>, only the last C<abs ($offset)> records of C<$fh> are taken into consideration. Parameters C<$offset> and C<$length> are expected to be -an integers. Non-integer values are interpreted as integer without check. +integers. Non-integer values are interpreted as integer without check. Given a CSV file with 10 lines: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Text-CSV_XS-1.51/CSV_XS.xs new/Text-CSV_XS-1.52/CSV_XS.xs --- old/Text-CSV_XS-1.51/CSV_XS.xs 2023-08-07 09:06:27.000000000 +0200 +++ new/Text-CSV_XS-1.52/CSV_XS.xs 2023-09-21 09:08:32.000000000 +0200 @@ -556,26 +556,14 @@ } /* _pretty_str */ #define _cache_show_byte(trim,c) \ - warn (" %-21s %02x:%3d\n", trim, c, c) + warn (" %-21s %02x:%3d\n", trim, c, c) #define _cache_show_char(trim,c) \ - warn (" %-21s %02x:%s\n", trim, c, _pretty_str (&c, 1)) + warn (" %-21s %02x:%s\n", trim, c, _pretty_str (&c, 1)) #define _cache_show_str(trim,l,str) \ - warn (" %-21s %02d:%s\n", trim, l, _pretty_str (str, l)) + warn (" %-21s %3d:%s\n", trim, l, _pretty_str (str, l)) -#define xs_cache_diag(hv) cx_xs_cache_diag (aTHX_ hv) -static void cx_xs_cache_diag (pTHX_ HV *hv) { - SV **svp; - byte *cache; - csv_t csvs; - csv_t *csv = &csvs; - - unless ((svp = hv_fetchs (hv, "_CACHE", FALSE)) && *svp) { - warn ("CACHE: invalid\n"); - return; - } - - cache = (byte *)SvPV_nolen (*svp); - (void)memcpy (csv, cache, sizeof (csv_t)); +#define _csv_diag(csv) _xs_csv_diag (aTHX_ csv) +static void _xs_csv_diag (pTHX_ csv_t *csv) { warn ("CACHE:\n"); _cache_show_char ("quote_char", CH_QUOTE); _cache_show_char ("escape_char", csv->escape_char); @@ -625,6 +613,27 @@ char *s = SvPV_nolen (csv->tmp); _cache_show_str ("tmp", (int)strlen (s), (byte *)s); } + if (csv->cache) + warn (" %-20s %4d:0x%08x\n", "cache", sizeof (csv_t), csv->cache); + else + warn (" %-22s --:no cache yet\n", "cache"); + } /* _csv_diag */ + +#define xs_cache_diag(hv) cx_xs_cache_diag (aTHX_ hv) +static void cx_xs_cache_diag (pTHX_ HV *hv) { + SV **svp; + byte *cache; + csv_t csvs; + csv_t *csv = &csvs; + + unless ((svp = hv_fetchs (hv, "_CACHE", FALSE)) && *svp) { + warn ("CACHE: invalid\n"); + return; + } + + cache = (byte *)SvPV_nolen (*svp); + (void)memcpy (csv, cache, sizeof (csv_t)); + _csv_diag (csv); } /* xs_cache_diag */ #define set_eol_is_cr(csv) cx_set_eol_is_cr (aTHX_ csv) @@ -2181,8 +2190,13 @@ } } } - else /* just copy the cache */ + else { /* just copy to the cache */ + SV **svp = hv_fetchs (hv, "_CACHE", FALSE); + + if (svp && *svp) + csv.cache = (byte *)SvPV_nolen (*svp); (void)memcpy (csv.cache, &csv, sizeof (csv_t)); + } if (result && csv.types) { STRLEN i; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Text-CSV_XS-1.51/ChangeLog new/Text-CSV_XS-1.52/ChangeLog --- old/Text-CSV_XS-1.51/ChangeLog 2023-08-07 13:58:29.000000000 +0200 +++ new/Text-CSV_XS-1.52/ChangeLog 2023-09-21 09:59:52.000000000 +0200 @@ -1,3 +1,6 @@ +1.52 - 2023-09-21, H.Merijn Brand + * Fix possible coredump in cache on non-IO parse (issue 49) + 1.51 - 2023-08-07, H.Merijn Brand * Contact e-mail update * Attribute skip_empty_rows extended diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Text-CSV_XS-1.51/META.json new/Text-CSV_XS-1.52/META.json --- old/Text-CSV_XS-1.51/META.json 2023-08-07 18:20:03.000000000 +0200 +++ new/Text-CSV_XS-1.52/META.json 2023-09-21 13:20:30.000000000 +0200 @@ -1,48 +1,51 @@ { - "release_status" : "stable", - "abstract" : "Comma-Separated Values manipulation routines", "resources" : { - "bugtracker" : { - "web" : "http://rt.cpan.org/NoAuth/Bugs.html?Dist=Text-CSV_XS" - }, "license" : [ "http://dev.perl.org/licenses/" ], - "x_IRC" : "irc://irc.perl.org/#csv", + "bugtracker" : { + "web" : "http://rt.cpan.org/NoAuth/Bugs.html?Dist=Text-CSV_XS" + }, "homepage" : "https://metacpan.org/pod/Text::CSV_XS", + "x_IRC" : "irc://irc.perl.org/#csv", "repository" : { "web" : "https://github.com/Tux/Text-CSV_XS", "url" : "https://github.com/Tux/Text-CSV_XS", "type" : "git" } }, - "generated_by" : "Author", - "provides" : { - "Text::CSV_XS" : { - "file" : "CSV_XS.pm", - "version" : "1.51" - } + "author" : [ + "H.Merijn Brand <hmbrand.org>" + ], + "license" : [ + "perl_5" + ], + "name" : "Text-CSV_XS", + "meta-spec" : { + "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", + "version" : 2 }, + "release_status" : "stable", "prereqs" : { - "test" : { + "runtime" : { + "recommends" : { + "Encode" : "3.19" + }, "requires" : { - "Test::More" : "0", - "Tie::Scalar" : "0" + "IO::Handle" : "0", + "perl" : "5.006001", + "XSLoader" : "0" } }, - "build" : { + "test" : { "requires" : { - "Config" : "0" + "Tie::Scalar" : "0", + "Test::More" : "0" } }, - "runtime" : { - "recommends" : { - "Encode" : "3.19" - }, + "build" : { "requires" : { - "perl" : "5.006001", - "XSLoader" : "0", - "IO::Handle" : "0" + "Config" : "0" } }, "configure" : { @@ -54,17 +57,14 @@ } } }, - "license" : [ - "perl_5" - ], - "version" : "1.51", - "author" : [ - "H.Merijn Brand <hmbrand.org>" - ], - "name" : "Text-CSV_XS", - "meta-spec" : { - "version" : 2, - "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec" + "generated_by" : "Author", + "abstract" : "Comma-Separated Values manipulation routines", + "provides" : { + "Text::CSV_XS" : { + "file" : "CSV_XS.pm", + "version" : "1.52" + } }, - "dynamic_config" : 1 + "dynamic_config" : 1, + "version" : "1.52" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Text-CSV_XS-1.51/META.yml new/Text-CSV_XS-1.52/META.yml --- old/Text-CSV_XS-1.51/META.yml 2023-08-07 18:20:03.000000000 +0200 +++ new/Text-CSV_XS-1.52/META.yml 2023-09-21 13:20:30.000000000 +0200 @@ -16,7 +16,7 @@ provides: Text::CSV_XS: file: CSV_XS.pm - version: '1.51' + version: '1.52' recommends: Encode: '3.19' requires: @@ -31,4 +31,4 @@ homepage: https://metacpan.org/pod/Text::CSV_XS license: http://dev.perl.org/licenses/ repository: https://github.com/Tux/Text-CSV_XS -version: '1.51' +version: '1.52' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Text-CSV_XS-1.51/t/80_diag.t new/Text-CSV_XS-1.52/t/80_diag.t --- old/Text-CSV_XS-1.51/t/80_diag.t 2023-04-04 15:25:58.000000000 +0200 +++ new/Text-CSV_XS-1.52/t/80_diag.t 2023-09-19 10:50:39.000000000 +0200 @@ -219,7 +219,7 @@ open EH, "<", $diag_file or die "STDERR: $!\n"; is (scalar <EH>, "CACHE:\n", "Title"); while (<EH>) { - m/^\s+(?:tmp|bptr)\b/ and next; + m/^\s+(?:tmp|bptr|cache)\b/ and next; like ($_, qr{^ \w+\s+[0-9a-f]+:(?:".*"|\s*[0-9]+)$}, "Content"); } close EH;