Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libxls for openSUSE:Factory checked 
in at 2025-01-05 15:28:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libxls (Old)
 and      /work/SRC/openSUSE:Factory/.libxls.new.1881 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libxls"

Sun Jan  5 15:28:59 2025 rev:7 rq:1234626 version:1.6.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/libxls/libxls.changes    2022-05-17 
17:24:49.231192029 +0200
+++ /work/SRC/openSUSE:Factory/.libxls.new.1881/libxls.changes  2025-01-05 
15:29:12.836721889 +0100
@@ -1,0 +2,10 @@
+Thu Dec 26 20:34:32 UTC 2024 - Jan Engelhardt <jeng...@inai.de>
+
+- Update to release 1.6.3
+  * Fix style record size check on big-endian systems
+  * Fix header include in C++ mode
+  * Fix buffer overflows when parsing style records
+  * Fix infinite loop with self-referencing sectors
+- Delete 0001-Fixes-94-possible-null-ptr-deref.patch (merged)
+
+-------------------------------------------------------------------

Old:
----
  0001-Fixes-94-possible-null-ptr-deref.patch
  libxls-1.6.2.tar.gz

New:
----
  _scmsync.obsinfo
  build.specials.obscpio
  libxls-1.6.3.tar.gz

BETA DEBUG BEGIN:
  Old:  * Fix infinite loop with self-referencing sectors
- Delete 0001-Fixes-94-possible-null-ptr-deref.patch (merged)
BETA DEBUG END:

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

Other differences:
------------------
++++++ libxls.spec ++++++
--- /var/tmp/diff_new_pack.w5UPDV/_old  2025-01-05 15:29:13.320741797 +0100
+++ /var/tmp/diff_new_pack.w5UPDV/_new  2025-01-05 15:29:13.324741963 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libxls
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,14 +18,13 @@
 
 Name:           libxls
 %define lname libxlsreader8
-Version:        1.6.2
+Version:        1.6.3
 Release:        0
 Summary:        Library for Parsing Excel (XLS) Files
 License:        BSD-2-Clause
 Group:          Development/Libraries/C and C++
 URL:            https://github.com/libxls/libxls
 Source:         
https://github.com/libxls/libxls/releases/download/v%version/libxls-%version.tar.gz
-Patch1:         0001-Fixes-94-possible-null-ptr-deref.patch
 BuildRequires:  pkg-config
 
 %description

++++++ _scmsync.obsinfo ++++++
mtime: 1735247335
commit: 23239e83c6b71cc8fd808bfe21fffcf044d31683d80eea40561877997408dad6
url: https://src.opensuse.org/clibs/libxls
revision: master

++++++ libxls-1.6.2.tar.gz -> libxls-1.6.3.tar.gz ++++++
++++ 32252 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/INSTALL new/libxls-1.6.3/INSTALL
--- old/libxls-1.6.2/INSTALL    2018-12-19 17:32:04.000000000 +0100
+++ new/libxls-1.6.3/INSTALL    2024-06-22 13:04:09.000000000 +0200
@@ -14,7 +14,7 @@
 * If you've cloned the git repository, instead of downloading a release,
   do this first:
 
-    ./bootstrap 
+    ./autogen.sh
     
 
 MAINTENANCE
@@ -27,7 +27,7 @@
 * When you update configure.ac, or when there is an upgrade of autoconf/libtool
   versions, do this:
 
-    ./bootstrap
+    ./autogen.sh
 
   Then:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/README.md new/libxls-1.6.3/README.md
--- old/libxls-1.6.2/README.md  2020-12-21 20:20:51.000000000 +0100
+++ new/libxls-1.6.3/README.md  2024-06-22 13:05:21.000000000 +0200
@@ -1,5 +1,4 @@
 [![Build 
Status](https://github.com/libxls/libxls/workflows/build/badge.svg)](https://github.com/libxls/libxls/actions)
-[![Build 
Status](https://ci.appveyor.com/api/projects/status/3nx26kfmy2y0efsi?svg=true)](https://ci.appveyor.com/project/evanmiller/libxls-252ki)
 [![Fuzzing 
Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/libxls.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:libxls)
 
 libxls - Read XLS files from C
@@ -103,7 +102,7 @@
 If you've cloned the git repository, you'll need to run this first:
 
 ```
-./bootstrap
+./autogen.sh
 ```
 
 That will generate all the supporting files. It assumes autotools is already
@@ -117,3 +116,5 @@
 * [Haskell](https://hackage.haskell.org/package/xls)
 * [R](https://readxl.tidyverse.org)
 * [Rust](https://github.com/evanmiller/rust-xls)
+* [Go](https://github.com/godzie44/go-xls)
+* [Crystal](https://github.com/mdwagner/xls.cr)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/compile new/libxls-1.6.3/compile
--- old/libxls-1.6.2/compile    2019-06-12 17:22:33.000000000 +0200
+++ new/libxls-1.6.3/compile    2024-12-26 11:45:43.000000000 +0100
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2016-01-11.22; # UTC
+scriptversion=2024-06-19.01; # UTC
 
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+# Copyright (C) 1999-2024 Free Software Foundation, Inc.
 # Written by Tom Tromey <tro...@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -17,7 +17,7 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -53,7 +53,7 @@
          MINGW*)
            file_conv=mingw
            ;;
-         CYGWIN*)
+         CYGWIN* | MSYS*)
            file_conv=cygwin
            ;;
          *)
@@ -67,7 +67,7 @@
        mingw/*)
          file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
          ;;
-       cygwin/*)
+       cygwin/* | msys/*)
          file=`cygpath -m "$file" || echo "$file"`
          ;;
        wine/*)
@@ -143,7 +143,7 @@
          # configure might choose to run compile as 'compile cc -o foo foo.c'.
          eat=1
          case $2 in
-           *.o | *.[oO][bB][jJ])
+           *.o | *.lo | *.[oO][bB][jJ])
              func_file_conv "$2"
              set x "$@" -Fo"$file"
              shift
@@ -248,14 +248,17 @@
 right script to run: please start by reading the file 'INSTALL'.
 
 Report bugs to <bug-autom...@gnu.org>.
+GNU Automake home page: <https://www.gnu.org/software/automake/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>.
 EOF
     exit $?
     ;;
   -v | --v*)
-    echo "compile $scriptversion"
+    echo "compile (GNU Automake) $scriptversion"
     exit $?
     ;;
   cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+  clang-cl | *[/\\]clang-cl | clang-cl.exe | *[/\\]clang-cl.exe | \
   icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
     func_cl_wrapper "$@"      # Doesn't return...
     ;;
@@ -340,7 +343,7 @@
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
 # time-stamp-time-zone: "UTC0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/config.h.in new/libxls-1.6.3/config.h.in
--- old/libxls-1.6.2/config.h.in        2021-01-04 05:30:36.000000000 +0100
+++ new/libxls-1.6.3/config.h.in        2024-12-26 11:45:43.000000000 +0100
@@ -12,24 +12,16 @@
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
-/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
-   to 0 otherwise. */
-#undef HAVE_MALLOC
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if your system has a GNU libc compatible `realloc' function,
-   and to 0 otherwise. */
-#undef HAVE_REALLOC
-
 /* Define to 1 if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H
 
+/* Define to 1 if you have the <stdio.h> header file. */
+#undef HAVE_STDIO_H
+
 /* Define to 1 if you have the <stdlib.h> header file. */
 #undef HAVE_STDLIB_H
 
-/* Define to 1 if you have the `strdup' function. */
+/* Define to 1 if you have the 'strdup' function. */
 #undef HAVE_STRDUP
 
 /* Define to 1 if you have the <strings.h> header file. */
@@ -50,7 +42,7 @@
 /* Define to 1 if you have the <wchar.h> header file. */
 #undef HAVE_WCHAR_H
 
-/* Define to 1 if you have the `wcstombs_l' function. */
+/* Define to 1 if you have the 'wcstombs_l' function. */
 #undef HAVE_WCSTOMBS_L
 
 /* Define to 1 if you have the <xlocale.h> header file. */
@@ -92,17 +84,13 @@
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
-/* Define to 1 if you have the ANSI C header files. */
+/* Define to 1 if all of the C89 standard headers exist (not just the ones
+   required in a freestanding environment). This macro is provided for
+   backward compatibility; new code need not use it. */
 #undef STDC_HEADERS
 
 /* Version number of package */
 #undef VERSION
 
-/* Define to rpl_malloc if the replacement function should be used. */
-#undef malloc
-
-/* Define to rpl_realloc if the replacement function should be used. */
-#undef realloc
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* Define as 'unsigned int' if <stddef.h> doesn't define. */
 #undef size_t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/configure.ac new/libxls-1.6.3/configure.ac
--- old/libxls-1.6.2/configure.ac       2021-01-04 05:28:43.000000000 +0100
+++ new/libxls-1.6.3/configure.ac       2024-12-26 11:43:17.000000000 +0100
@@ -1,9 +1,9 @@
-AC_INIT([libxls],[1.6.2],[https://github.com/libxls/libxls/issues], [libxls], 
[https://github.com/libxls/libxls])
+AC_INIT([libxls],[1.6.3],[https://github.com/libxls/libxls/issues],[libxls],[https://github.com/libxls/libxls])
 AC_CONFIG_SRCDIR([test/test.c])
 
 LIBXLS_MAJOR_VERSION=1
 LIBXLS_MINOR_VERSION=6
-LIBXLS_MICRO_VERSION=2
+LIBXLS_MICRO_VERSION=3
 
 VERSION=$LIBXLS_MAJOR_VERSION.$LIBXLS_MINOR_VERSION.$LIBXLS_MICRO_VERSION
 # if libxls ever goes to 2.0 you will need to change the following line to
@@ -35,7 +35,6 @@
 
 AC_PROG_INSTALL
 AC_PROG_CC
-AC_PROG_CC_C99
 AC_PROG_CXX
 AX_CXX_COMPILE_STDCXX_11([], [optional])
 
@@ -48,8 +47,6 @@
 
 AC_CHECK_FUNCS([strdup wcstombs_l])
 AC_CHECK_HEADERS([wchar.h xlocale.h])
-AC_FUNC_MALLOC
-AC_FUNC_REALLOC
 AC_TYPE_SIZE_T
 
 AC_ARG_ENABLE([fuzz-testing], AS_HELP_STRING([--enable-fuzz-testing], ["Enable 
fuzz testing (requires Clang 6 or later)"]), [
@@ -73,6 +70,10 @@
         [*mingw*|*cygwin*], [EXTRA_LDFLAGS="-no-undefined"], 
[EXTRA_LDFLAGS=""])
 AC_SUBST([EXTRA_LDFLAGS])
 
+AS_CASE([$host],
+       [*mingw*], [CFLAGS="$CFLAGS -D_spawnv=spawnv"],
+       [CFLAGS="$CFLAGS"])
+
 AM_ICONV
 
 m4_ifdef([PKG_INSTALLDIR], [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/include/libxls/ole.h new/libxls-1.6.3/include/libxls/ole.h
--- old/libxls-1.6.2/include/libxls/ole.h       2019-03-08 13:51:23.000000000 
+0100
+++ new/libxls-1.6.3/include/libxls/ole.h       2024-12-26 11:42:11.000000000 
+0100
@@ -36,12 +36,13 @@
 #ifndef OLE_INCLUDE
 #define OLE_INCLUDE
 
-#ifdef __cplusplus
-#include <cstdio>                      // FILE *
-#else
-#include <stdio.h>                     // FILE *
+#ifdef _MSC_VER
+#include <BaseTsd.h>
+typedef SSIZE_T ssize_t;
 #endif
 
+#include <stdio.h>                     // FILE *
+
 #include "../libxls/xlstypes.h"
 
 #if defined(_AIX) || defined(__sun)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/include/libxls/xlsstruct.h 
new/libxls-1.6.3/include/libxls/xlsstruct.h
--- old/libxls-1.6.2/include/libxls/xlsstruct.h 2020-09-04 17:25:39.000000000 
+0200
+++ new/libxls-1.6.3/include/libxls/xlsstruct.h 2022-01-06 14:08:12.000000000 
+0100
@@ -42,6 +42,7 @@
 #define XLS_RECORD_DEFINEDNAME  0x0018
 #define XLS_RECORD_NOTE         0x001C
 #define XLS_RECORD_1904         0x0022
+#define XLS_RECORD_FILEPASS     0x002F
 #define XLS_RECORD_CONTINUE     0x003C
 #define XLS_RECORD_WINDOW1      0x003D
 #define XLS_RECORD_CODEPAGE     0x0042
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/include/libxls/xlstypes.h 
new/libxls-1.6.3/include/libxls/xlstypes.h
--- old/libxls-1.6.2/include/libxls/xlstypes.h  2019-03-08 13:56:16.000000000 
+0100
+++ new/libxls-1.6.3/include/libxls/xlstypes.h  2024-06-22 13:07:38.000000000 
+0200
@@ -36,11 +36,7 @@
 #ifndef XLS_TYPES_INC
 #define XLS_TYPES_INC
 
-#ifdef __cplusplus
-#include <cstdint>
-#else
 #include <stdint.h>
-#endif
 #include <sys/types.h>
 
 typedef unsigned char          BYTE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/include/xls.h new/libxls-1.6.3/include/xls.h
--- old/libxls-1.6.2/include/xls.h      2019-02-10 18:19:57.000000000 +0100
+++ new/libxls-1.6.3/include/xls.h      2022-12-18 15:04:30.000000000 +0100
@@ -49,7 +49,9 @@
     LIBXLS_ERROR_SEEK,
     LIBXLS_ERROR_READ,
     LIBXLS_ERROR_PARSE,
-    LIBXLS_ERROR_MALLOC
+    LIBXLS_ERROR_MALLOC,
+    LIBXLS_ERROR_UNSUPPORTED_ENCRYPTION,
+    LIBXLS_ERROR_NULL_ARGUMENT
 } xls_error_t;
 
 const char* xls_getVersion(void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/missing new/libxls-1.6.3/missing
--- old/libxls-1.6.2/missing    2019-06-12 17:22:34.000000000 +0200
+++ new/libxls-1.6.3/missing    2024-12-26 11:45:43.000000000 +0100
@@ -1,9 +1,11 @@
 #! /bin/sh
-# Common wrapper for a few potentially missing GNU programs.
+# Common wrapper for a few potentially missing GNU and other programs.
 
-scriptversion=2016-01-11.22; # UTC
+scriptversion=2024-06-07.14; # UTC
 
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+# shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells
+
+# Copyright (C) 1996-2024 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -17,7 +19,7 @@
 # GNU General Public License for more details.
 
 # You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -54,18 +56,20 @@
   -v, --version   output version information and exit
 
 Supported PROGRAM values:
-  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
-  bison     yacc      flex         lex       help2man
+aclocal autoconf autogen  autoheader autom4te automake autoreconf
+bison   flex     help2man lex        makeinfo perl     yacc
 
 Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
 'g' are ignored when checking the name.
 
-Send bug reports to <bug-autom...@gnu.org>."
+Report bugs to <bug-autom...@gnu.org>.
+GNU Automake home page: <https://www.gnu.org/software/automake/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>."
     exit $?
     ;;
 
   -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing $scriptversion (GNU Automake)"
+    echo "missing (GNU Automake) $scriptversion"
     exit $?
     ;;
 
@@ -101,14 +105,14 @@
   exit $st
 fi
 
-perl_URL=http://www.perl.org/
-flex_URL=http://flex.sourceforge.net/
-gnu_software_URL=http://www.gnu.org/software
+perl_URL=https://www.perl.org/
+flex_URL=https://github.com/westes/flex
+gnu_software_URL=https://www.gnu.org/software
 
 program_details ()
 {
   case $1 in
-    aclocal|automake)
+    aclocal|automake|autoreconf)
       echo "The '$1' program is part of the GNU Automake package:"
       echo "<$gnu_software_URL/automake>"
       echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
@@ -123,6 +127,9 @@
       echo "<$gnu_software_URL/m4/>"
       echo "<$perl_URL>"
       ;;
+    *)
+      :
+      ;;
   esac
 }
 
@@ -137,48 +144,55 @@
   printf '%s\n' "'$1' is $msg."
 
   configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+  autoheader_deps="'acconfig.h'"
+  automake_deps="'Makefile.am'"
+  aclocal_deps="'acinclude.m4'"
   case $normalized_program in
+    aclocal*)
+      echo "You should only need it if you modified $aclocal_deps or"
+      echo "$configure_deps."
+      ;;
     autoconf*)
-      echo "You should only need it if you modified 'configure.ac',"
-      echo "or m4 files included by it."
-      program_details 'autoconf'
+      echo "You should only need it if you modified $configure_deps."
+      ;;
+    autogen*)
+      echo "You should only need it if you modified a '.def' or '.tpl' file."
+      echo "You may want to install the GNU AutoGen package:"
+      echo "<$gnu_software_URL/autogen/>"
       ;;
     autoheader*)
-      echo "You should only need it if you modified 'acconfig.h' or"
+      echo "You should only need it if you modified $autoheader_deps or"
       echo "$configure_deps."
-      program_details 'autoheader'
       ;;
     automake*)
-      echo "You should only need it if you modified 'Makefile.am' or"
-      echo "$configure_deps."
-      program_details 'automake'
-      ;;
-    aclocal*)
-      echo "You should only need it if you modified 'acinclude.m4' or"
+      echo "You should only need it if you modified $automake_deps or"
       echo "$configure_deps."
-      program_details 'aclocal'
       ;;
-   autom4te*)
+    autom4te*)
       echo "You might have modified some maintainer files that require"
       echo "the 'autom4te' program to be rebuilt."
-      program_details 'autom4te'
+      ;;
+    autoreconf*)
+      echo "You should only need it if you modified $aclocal_deps or"
+      echo "$automake_deps or $autoheader_deps or $automake_deps or"
+      echo "$configure_deps."
       ;;
     bison*|yacc*)
       echo "You should only need it if you modified a '.y' file."
       echo "You may want to install the GNU Bison package:"
       echo "<$gnu_software_URL/bison/>"
       ;;
-    lex*|flex*)
-      echo "You should only need it if you modified a '.l' file."
-      echo "You may want to install the Fast Lexical Analyzer package:"
-      echo "<$flex_URL>"
-      ;;
     help2man*)
       echo "You should only need it if you modified a dependency" \
            "of a man page."
       echo "You may want to install the GNU Help2man package:"
       echo "<$gnu_software_URL/help2man/>"
     ;;
+    lex*|flex*)
+      echo "You should only need it if you modified a '.l' file."
+      echo "You may want to install the Fast Lexical Analyzer package:"
+      echo "<$flex_URL>"
+      ;;
     makeinfo*)
       echo "You should only need it if you modified a '.texi' file, or"
       echo "any other file indirectly affecting the aspect of the manual."
@@ -189,6 +203,12 @@
       echo "want to install GNU make:"
       echo "<$gnu_software_URL/make/>"
       ;;
+    perl*)
+      echo "You should only need it to run GNU Autoconf, GNU Automake, "
+      echo "  assorted other tools, or if you modified a Perl source file."
+      echo "You may want to install the Perl 5 language interpreter:"
+      echo "<$perl_URL>"
+      ;;
     *)
       echo "You might have modified some files without having the proper"
       echo "tools for further handling them.  Check the 'README' file, it"
@@ -197,6 +217,7 @@
       echo "case some other package contains this missing '$1' program."
       ;;
   esac
+  program_details "$normalized_program"
 }
 
 give_advice "$1" | sed -e '1s/^/WARNING: /' \
@@ -207,7 +228,7 @@
 exit $st
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
 # time-stamp-time-zone: "UTC0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/src/endian.c new/libxls-1.6.3/src/endian.c
--- old/libxls-1.6.2/src/endian.c       2020-06-06 14:37:18.000000000 +0200
+++ new/libxls-1.6.3/src/endian.c       2024-06-21 12:47:39.000000000 +0200
@@ -35,7 +35,7 @@
 #include "../include/libxls/endian.h"
 #include "../include/libxls/ole.h"
 
-int xls_is_bigendian()
+int xls_is_bigendian(void)
 {
 #if defined (__BIG_ENDIAN__)
     return 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/src/locale.c new/libxls-1.6.3/src/locale.c
--- old/libxls-1.6.2/src/locale.c       2020-09-04 17:25:39.000000000 +0200
+++ new/libxls-1.6.3/src/locale.c       2024-06-21 12:47:39.000000000 +0200
@@ -32,7 +32,7 @@
 #include <stdlib.h>
 #include "../include/libxls/locale.h"
 
-xls_locale_t xls_createlocale() {
+xls_locale_t xls_createlocale(void) {
 #if defined(_WIN32) || defined(WIN32) || defined(_WIN64) || defined(WIN64) || 
defined(WINDOWS)
     return _create_locale(LC_CTYPE, ".65001");
 #else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/src/ole.c new/libxls-1.6.3/src/ole.c
--- old/libxls-1.6.2/src/ole.c  2020-12-30 05:46:44.000000000 +0100
+++ new/libxls-1.6.3/src/ole.c  2024-12-26 11:43:44.000000000 +0100
@@ -741,6 +741,11 @@
                 sectorNum++;
             }
         }
+        if (sid == sector[posInSector]) {
+            if (xls_debug) fprintf(stderr, "Error: Loop detected in sector 
#%d\n", sid);
+            total_bytes_read = -1;
+            goto cleanup;
+        }
         sid = sector[posInSector];
         //printf("   s[%d]=%d (0x%x)\n", posInSector, sid, sid);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/src/xls.c new/libxls-1.6.3/src/xls.c
--- old/libxls-1.6.2/src/xls.c  2020-12-30 05:48:33.000000000 +0100
+++ new/libxls-1.6.3/src/xls.c  2024-06-22 13:07:38.000000000 +0200
@@ -133,7 +133,7 @@
     pWB->sst.lastrt=0;
     pWB->sst.lastsz=0;
 
-    if (sst->num > (1<<24))
+    if (sst->num > (1<<26)) // 64 MB
         return LIBXLS_ERROR_MALLOC;
 
     if (pWB->sst.string)
@@ -390,8 +390,10 @@
        }
 
     pWB->sheets.sheet = realloc(pWB->sheets.sheet,(pWB->sheets.count+1)*sizeof 
(struct st_sheet_data));
-    if (pWB->sheets.sheet == NULL)
+    if (pWB->sheets.sheet == NULL) {
+        free(name);
         return LIBXLS_ERROR_MALLOC;
+    }
 
     pWB->sheets.sheet[pWB->sheets.count].name=name;
     pWB->sheets.sheet[pWB->sheets.count].filepos=filepos;
@@ -798,7 +800,7 @@
     return LIBXLS_OK;
 }
 
-int xls_isRecordTooSmall(xlsWorkBook *pWB, BOF *bof1) {
+int xls_isRecordTooSmall(xlsWorkBook *pWB, BOF *bof1, const BYTE* buf) {
     switch (bof1->id) {
         case XLS_RECORD_BOF:   // BIFF5-8
             return (bof1->size < 2 * sizeof(WORD));
@@ -820,6 +822,24 @@
             return (bof1->size < offsetof(FONT, name));
         case XLS_RECORD_FORMAT:
             return (bof1->size < offsetof(FORMAT, value));
+        case XLS_RECORD_STYLE:
+            {
+                struct {
+                    unsigned short idx;
+                    unsigned char ident;
+                    unsigned char lvl;
+                } *styl;
+                if(bof1->size < 2) {
+                    return 1;
+                }
+                styl = (void *)buf;
+                if(xlsShortVal(styl->idx) & 0x8000) {
+                    return bof1->size < 4;
+                } else {
+                    if(bof1->size < 3) return 1;
+                    return bof1->size < 3 + styl->ident;
+                }
+            }
                case XLS_RECORD_1904:
             return (bof1->size < sizeof(BYTE));
         default:
@@ -830,6 +850,8 @@
 
 xls_error_t xls_parseWorkBook(xlsWorkBook* pWB)
 {
+    if(!pWB) return LIBXLS_ERROR_NULL_ARGUMENT;
+
     BOF bof1 = { .id = 0, .size = 0 };
     BOF bof2 = { .id = 0, .size = 0 };
     BYTE* buf = NULL;
@@ -865,7 +887,7 @@
             }
         }
 
-        if (xls_isRecordTooSmall(pWB, &bof1)) {
+        if (xls_isRecordTooSmall(pWB, &bof1, buf)) {
             retval = LIBXLS_ERROR_PARSE;
             goto cleanup;
         }
@@ -1039,6 +1061,10 @@
                                printf("   mode: 0x%x\n", pWB->is1904);
                        }
                        break;
+
+               case XLS_RECORD_FILEPASS:
+                       retval = LIBXLS_ERROR_UNSUPPORTED_ENCRYPTION;
+                       goto cleanup;
                
                case XLS_RECORD_DEFINEDNAME:
                        if(xls_debug) {
@@ -1053,7 +1079,7 @@
                        if(xls_debug)
                        {
                                //xls_showBOF(&bof1);
-                               printf("    Not Processed in parseWoorkBook():  
BOF=0x%4.4X size=%d\n", bof1.id, bof1.size);
+                               printf("    Not Processed in parseWorkBook():  
BOF=0x%4.4X size=%d\n", bof1.id, bof1.size);
                        }
             break;
         }
@@ -1072,6 +1098,8 @@
 
 static xls_error_t xls_preparseWorkSheet(xlsWorkSheet* pWS)
 {
+    if(!pWS) return LIBXLS_ERROR_NULL_ARGUMENT;
+
     BOF tmp;
     BYTE* buf = NULL;
     xls_error_t retval = LIBXLS_OK;
@@ -1221,6 +1249,8 @@
 
 xls_error_t xls_parseWorkSheet(xlsWorkSheet* pWS)
 {
+    if(!pWS) return LIBXLS_ERROR_NULL_ARGUMENT;
+
     BOF tmp;
     BYTE* buf = NULL;
        long offset = pWS->filepos;
@@ -1653,6 +1683,8 @@
         return "Unable to allocate memory";
     if (code == LIBXLS_ERROR_PARSE)
         return "Unable to parse file";
+    if (code == LIBXLS_ERROR_UNSUPPORTED_ENCRYPTION)
+        return "Unsupported encryption scheme";
 
     return "Unknown error";
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/src/xlstool.c new/libxls-1.6.3/src/xlstool.c
--- old/libxls-1.6.2/src/xlstool.c      2020-12-30 05:46:54.000000000 +0100
+++ new/libxls-1.6.3/src/xlstool.c      2023-05-02 00:13:35.000000000 +0200
@@ -737,7 +737,8 @@
     DWORD i;
 
     char *ret = malloc(65535);
-    char *buf = malloc(4096);
+    size_t buf_len = 4096;
+    char *buf = malloc(buf_len);
        ret[0] = '\0';
 
     for (i=0;i<pWB->xfs.count;i++)
@@ -780,62 +781,62 @@
         switch (xf->linestyle & 0x0f)
         {
         case 0:
-            sprintf(borderleft,"%s", "");
+            snprintf(borderleft, sizeof(borderleft), "%s", "");
             break;
         default:
-            sprintf(borderleft,"border-left: 1px solid black;");
+            snprintf(borderleft, sizeof(borderleft), "border-left: 1px solid 
black;");
             break;
         }
 
         switch (xf->linestyle & 0x0f0)
         {
         case 0:
-            sprintf(borderright,"%s", "");
+            snprintf(borderright, sizeof(borderright), "%s", "");
             break;
         default:
-            sprintf(borderright,"border-right: 1px solid black;");
+            snprintf(borderright, sizeof(borderright), "border-right: 1px 
solid black;");
             break;
         }
 
         switch (xf->linestyle & 0x0f00)
         {
         case 0:
-            sprintf(bordertop,"%s", "");
+            snprintf(bordertop, sizeof(bordertop), "%s", "");
             break;
         default:
-            sprintf(bordertop,"border-top: 1px solid black;");
+            snprintf(bordertop, sizeof(bordertop), "border-top: 1px solid 
black;");
             break;
         }
 
         switch (xf->linestyle & 0x0f000)
         {
         case 0:
-            sprintf(borderbottom,"%s", "");
+            snprintf(borderbottom, sizeof(borderbottom), "%s", "");
             break;
         default:
-            sprintf(borderbottom,"border-bottom: 1px solid Black;");
+            snprintf(borderbottom, sizeof(borderbottom), "border-bottom: 1px 
solid Black;");
             break;
         }
 
         if (xf->font)
-            
sprintf(color,"color:#%.6X;",xls_getColor(pWB->fonts.font[xf->font-1].color,0));
+            snprintf(color, sizeof(color), 
"color:#%.6X;",xls_getColor(pWB->fonts.font[xf->font-1].color,0));
         else
-            sprintf(color,"%s", "");
+            snprintf(color, sizeof(color), "%s", "");
 
         if (xf->font && (pWB->fonts.font[xf->font-1].flag & 2))
-            sprintf(italic,"font-style: italic;");
+            snprintf(italic, sizeof(italic), "font-style: italic;");
         else
-            sprintf(italic,"%s", "");
+            snprintf(italic, sizeof(italic), "%s", "");
 
         if (xf->font && (pWB->fonts.font[xf->font-1].bold>400))
-            sprintf(bold,"font-weight: bold;");
+            snprintf(bold, sizeof(bold), "font-weight: bold;");
         else
-            sprintf(bold,"%s", "");
+            snprintf(bold, sizeof(bold), "%s", "");
 
         if (xf->font && (pWB->fonts.font[xf->font-1].underline))
-            sprintf(underline,"text-decoration: underline;");
+            snprintf(underline, sizeof(underline), "text-decoration: 
underline;");
         else
-            sprintf(underline,"%s", "");
+            snprintf(underline, sizeof(underline), "%s", "");
 
         if (xf->font)
             size=pWB->fonts.font[xf->font-1].height/20;
@@ -843,12 +844,12 @@
             size=10;
 
         if (xf->font)
-            sprintf(fontname,"%s",pWB->fonts.font[xf->font-1].name);
+            snprintf(fontname, 
sizeof(fontname),"%s",pWB->fonts.font[xf->font-1].name);
         else
-            sprintf(fontname,"Arial");
+            snprintf(fontname, sizeof(fontname),"Arial");
 
         background=xls_getColor((WORD)(xf->groundcolor & 0x7f),1);
-        sprintf(buf,".xf%i{ font-size:%ipt;font-family: 
\"%s\";background:#%.6X;text-align:%s;vertical-align:%s;%s%s%s%s%s%s%s%s}\n",
+        snprintf(buf, buf_len, ".xf%i{ font-size:%ipt;font-family: 
\"%s\";background:#%.6X;text-align:%s;vertical-align:%s;%s%s%s%s%s%s%s%s}\n",
                 
i,size,fontname,background,align,valign,borderleft,borderright,bordertop,borderbottom,color,italic,bold,underline);
 
                strcat(ret,buf);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/test/test.c new/libxls-1.6.3/test/test.c
--- old/libxls-1.6.2/test/test.c        2019-02-10 18:19:57.000000000 +0100
+++ new/libxls-1.6.3/test/test.c        2022-01-06 14:08:12.000000000 +0100
@@ -66,6 +66,8 @@
         printf("Sheet N%i (%s) pos 
%i\n",i,pWB->sheets.sheet[i].name,pWB->sheets.sheet[i].filepos);
 
     pWS=xls_getWorkSheet(pWB,0);
+    if(!pWS) return 1;
+    
     if ((code = xls_parseWorkSheet(pWS)) != LIBXLS_OK) {
         fprintf(stderr, "Error parsing worksheet: %s\n", xls_getError(code));
         return 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/test/test2.c new/libxls-1.6.3/test/test2.c
--- old/libxls-1.6.2/test/test2.c       2019-02-10 18:19:57.000000000 +0100
+++ new/libxls-1.6.3/test/test2.c       2022-01-06 14:08:12.000000000 +0100
@@ -69,6 +69,8 @@
         printf("Sheet N%i (%s) pos 
%i\n",i,pWB->sheets.sheet[i].name,pWB->sheets.sheet[i].filepos);
 
     pWS=xls_getWorkSheet(pWB,0);
+    if(!pWS) return 1;
+       
     if ((code = xls_parseWorkSheet(pWS)) != LIBXLS_OK) {
         fprintf(stderr, "Error parsing worksheet: %s\n", xls_getError(code));
         return 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxls-1.6.2/test-driver new/libxls-1.6.3/test-driver
--- old/libxls-1.6.2/test-driver        2019-06-12 17:22:34.000000000 +0200
+++ new/libxls-1.6.3/test-driver        2024-12-26 11:45:43.000000000 +0100
@@ -1,9 +1,9 @@
 #! /bin/sh
 # test-driver - basic testsuite driver script.
 
-scriptversion=2016-01-11.22; # UTC
+scriptversion=2024-06-19.01; # UTC
 
-# Copyright (C) 2011-2017 Free Software Foundation, Inc.
+# Copyright (C) 2011-2024 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -16,7 +16,7 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -42,11 +42,18 @@
 {
   cat <<END
 Usage:
-  test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
-              [--expect-failure={yes|no}] [--color-tests={yes|no}]
-              [--enable-hard-errors={yes|no}] [--]
+  test-driver --test-name NAME --log-file PATH --trs-file PATH
+              [--expect-failure {yes|no}] [--color-tests {yes|no}]
+              [--collect-skipped-logs {yes|no}]
+              [--enable-hard-errors {yes|no}] [--]
               TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
+
 The '--test-name', '--log-file' and '--trs-file' options are mandatory.
+See the GNU Automake documentation for information.
+
+Report bugs to <bug-autom...@gnu.org>.
+GNU Automake home page: <https://www.gnu.org/software/automake/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>.
 END
 }
 
@@ -55,15 +62,17 @@
 trs_file=  # Where to save the metadata of the test run.
 expect_failure=no
 color_tests=no
+collect_skipped_logs=yes
 enable_hard_errors=yes
 while test $# -gt 0; do
   case $1 in
   --help) print_usage; exit $?;;
-  --version) echo "test-driver $scriptversion"; exit $?;;
+  --version) echo "test-driver (GNU Automake) $scriptversion"; exit $?;;
   --test-name) test_name=$2; shift;;
   --log-file) log_file=$2; shift;;
   --trs-file) trs_file=$2; shift;;
   --color-tests) color_tests=$2; shift;;
+  --collect-skipped-logs) collect_skipped_logs=$2; shift;;
   --expect-failure) expect_failure=$2; shift;;
   --enable-hard-errors) enable_hard_errors=$2; shift;;
   --) shift; break;;
@@ -103,8 +112,11 @@
 trap "st=141; $do_exit" 13
 trap "st=143; $do_exit" 15
 
-# Test script is run here.
-"$@" >$log_file 2>&1
+# Test script is run here. We create the file first, then append to it,
+# to ameliorate tests themselves also writing to the log file. Our tests
+# don't, but others can (automake bug#35762).
+: >"$log_file"
+"$@" >>"$log_file" 2>&1
 estatus=$?
 
 if test $enable_hard_errors = no && test $estatus -eq 99; then
@@ -116,7 +128,7 @@
 case $tweaked_estatus:$expect_failure in
   0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
   0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
-  77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
+  77:*)  col=$blu res=SKIP  recheck=no  gcopy=$collect_skipped_logs;;
   99:*)  col=$mgn res=ERROR recheck=yes gcopy=yes;;
   *:yes) col=$lgn res=XFAIL recheck=no  gcopy=yes;;
   *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
@@ -126,7 +138,7 @@
 # know whether the test passed or failed simply by looking at the '.log'
 # file, without the need of also peaking into the corresponding '.trs'
 # file (automake bug#11814).
-echo "$res $test_name (exit status: $estatus)" >>$log_file
+echo "$res $test_name (exit status: $estatus)" >>"$log_file"
 
 # Report outcome to console.
 echo "${col}${res}${std}: $test_name"
@@ -140,7 +152,7 @@
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
 # time-stamp-time-zone: "UTC0"

Reply via email to