Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package patchelf for openSUSE:Factory checked in at 2023-01-23 18:30:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/patchelf (Old) and /work/SRC/openSUSE:Factory/.patchelf.new.32243 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "patchelf" Mon Jan 23 18:30:38 2023 rev:20 rq:1060111 version:0.17.2 Changes: -------- --- /work/SRC/openSUSE:Factory/patchelf/patchelf.changes 2022-12-04 14:57:44.412057969 +0100 +++ /work/SRC/openSUSE:Factory/.patchelf.new.32243/patchelf.changes 2023-01-23 18:30:40.147582653 +0100 @@ -1,0 +2,8 @@ +Sat Jan 21 09:49:50 UTC 2023 - Dirk Müller <dmuel...@suse.com> + +- update to 0.17.2: + * Also pass STRIP to the tests + * Fix Out-of-bounds read in the function modifySoname + * Split segment size fix + +------------------------------------------------------------------- Old: ---- patchelf-0.17.0.tar.bz2 New: ---- patchelf-0.17.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ patchelf.spec ++++++ --- /var/tmp/diff_new_pack.XSGAON/_old 2023-01-23 18:30:40.635585665 +0100 +++ /var/tmp/diff_new_pack.XSGAON/_new 2023-01-23 18:30:40.639585690 +0100 @@ -1,7 +1,7 @@ # # spec file for package patchelf # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # 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: patchelf -Version: 0.17.0 +Version: 0.17.2 Release: 0 Summary: A utility for patching ELF binaries License: GPL-3.0-only ++++++ patchelf-0.17.0.tar.bz2 -> patchelf-0.17.2.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patchelf-0.17.0/configure new/patchelf-0.17.2/configure --- old/patchelf-0.17.0/configure 2022-11-07 11:01:20.000000000 +0100 +++ new/patchelf-0.17.2/configure 2023-01-10 20:40:58.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for patchelf 0.17.0. +# Generated by GNU Autoconf 2.71 for patchelf 0.17.2. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, @@ -607,8 +607,8 @@ # Identity of this package. PACKAGE_NAME='patchelf' PACKAGE_TARNAME='patchelf' -PACKAGE_VERSION='0.17.0' -PACKAGE_STRING='patchelf 0.17.0' +PACKAGE_VERSION='0.17.2' +PACKAGE_STRING='patchelf 0.17.2' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1292,7 +1292,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures patchelf 0.17.0 to adapt to many kinds of systems. +\`configure' configures patchelf 0.17.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1359,7 +1359,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of patchelf 0.17.0:";; + short | recursive ) echo "Configuration of patchelf 0.17.2:";; esac cat <<\_ACEOF @@ -1463,7 +1463,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -patchelf configure 0.17.0 +patchelf configure 0.17.2 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1578,7 +1578,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by patchelf $as_me 0.17.0, which was +It was created by patchelf $as_me 0.17.2, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3056,7 +3056,7 @@ # Define the identity of the package. PACKAGE='patchelf' - VERSION='0.17.0' + VERSION='0.17.2' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -6960,7 +6960,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by patchelf $as_me 0.17.0, which was +This file was extended by patchelf $as_me 0.17.2, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -7019,7 +7019,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -patchelf config.status 0.17.0 +patchelf config.status 0.17.2 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patchelf-0.17.0/patchelf.spec new/patchelf-0.17.2/patchelf.spec --- old/patchelf-0.17.0/patchelf.spec 2022-11-07 11:01:22.000000000 +0100 +++ new/patchelf-0.17.2/patchelf.spec 2023-01-10 20:40:59.000000000 +0100 @@ -1,7 +1,7 @@ Summary: A utility for patching ELF binaries Name: patchelf -Version: 0.17.0 +Version: 0.17.2 Release: 1 License: GPL Group: Development/Tools diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patchelf-0.17.0/src/patchelf.cc new/patchelf-0.17.2/src/patchelf.cc --- old/patchelf-0.17.0/src/patchelf.cc 1970-01-01 01:00:01.000000000 +0100 +++ new/patchelf-0.17.2/src/patchelf.cc 1970-01-01 01:00:01.000000000 +0100 @@ -436,7 +436,7 @@ template<ElfFileParams> -void ElfFile<ElfFileParamNames>::shiftFile(unsigned int extraPages, size_t startOffset) +void ElfFile<ElfFileParamNames>::shiftFile(unsigned int extraPages, size_t startOffset, size_t extraBytes) { assert(startOffset >= sizeof(Elf_Ehdr)); @@ -512,7 +512,7 @@ wri(phdr.p_offset, phdrs.at(splitIndex).p_offset - splitShift - shift); wri(phdr.p_paddr, phdrs.at(splitIndex).p_paddr - splitShift - shift); wri(phdr.p_vaddr, phdrs.at(splitIndex).p_vaddr - splitShift - shift); - wri(phdr.p_filesz, wri(phdr.p_memsz, splitShift + shift)); + wri(phdr.p_filesz, wri(phdr.p_memsz, splitShift + extraBytes)); wri(phdr.p_flags, PF_R | PF_W); wri(phdr.p_align, getPageSize()); } @@ -912,12 +912,14 @@ neededSpace += sizeof(Elf_Phdr); debug("needed space is %d\n", neededSpace); - unsigned int neededPages = roundUp(neededSpace - startOffset, getPageSize()) / getPageSize(); + /* Calculate how many bytes are needed out of the additional pages. */ + size_t extraSpace = neededSpace - startOffset; + unsigned int neededPages = roundUp(extraSpace, getPageSize()) / getPageSize(); debug("needed pages is %d\n", neededPages); if (neededPages * getPageSize() > firstPage) error("virtual address space underrun!"); - shiftFile(neededPages, startOffset); + shiftFile(neededPages, startOffset, extraSpace); firstPage -= neededPages * getPageSize(); startOffset += neededPages * getPageSize(); @@ -1272,6 +1274,7 @@ if (rdi(dyn->d_tag) == DT_SONAME) { dynSoname = dyn; soname = strTab + rdi(dyn->d_un.d_val); + checkPointer(fileContents, strTab, rdi(dyn->d_un.d_val)); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patchelf-0.17.0/src/patchelf.h new/patchelf-0.17.2/src/patchelf.h --- old/patchelf-0.17.0/src/patchelf.h 1970-01-01 01:00:01.000000000 +0100 +++ new/patchelf-0.17.2/src/patchelf.h 1970-01-01 01:00:01.000000000 +0100 @@ -77,7 +77,7 @@ void sortShdrs(); - void shiftFile(unsigned int extraPages, size_t sizeOffset); + void shiftFile(unsigned int extraPages, size_t sizeOffset, size_t extraBytes); std::string getSectionName(const Elf_Shdr & shdr) const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patchelf-0.17.0/tests/Makefile.am new/patchelf-0.17.2/tests/Makefile.am --- old/patchelf-0.17.0/tests/Makefile.am 1970-01-01 01:00:01.000000000 +0100 +++ new/patchelf-0.17.2/tests/Makefile.am 1970-01-01 01:00:01.000000000 +0100 @@ -52,7 +52,7 @@ EXTRA_DIST = no-rpath-prebuild $(src_TESTS) no-rpath-prebuild.sh invalid-elf endianness empty-note -TESTS_ENVIRONMENT = PATCHELF_DEBUG=1 OBJDUMP=$(OBJDUMP) READELF=$(READELF) OBJCOPY=$(OBJCOPY) +TESTS_ENVIRONMENT = PATCHELF_DEBUG=1 STRIP=$(STRIP) OBJDUMP=$(OBJDUMP) READELF=$(READELF) OBJCOPY=$(OBJCOPY) $(no_rpath_arch_TESTS): no-rpath-prebuild.sh @ln -s $< $@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patchelf-0.17.0/tests/Makefile.in new/patchelf-0.17.2/tests/Makefile.in --- old/patchelf-0.17.0/tests/Makefile.in 2022-11-07 11:01:21.000000000 +0100 +++ new/patchelf-0.17.2/tests/Makefile.in 2023-01-10 20:40:58.000000000 +0100 @@ -620,7 +620,7 @@ TESTS = $(src_TESTS) $(build_TESTS) EXTRA_DIST = no-rpath-prebuild $(src_TESTS) no-rpath-prebuild.sh invalid-elf endianness empty-note -TESTS_ENVIRONMENT = PATCHELF_DEBUG=1 OBJDUMP=$(OBJDUMP) READELF=$(READELF) OBJCOPY=$(OBJCOPY) +TESTS_ENVIRONMENT = PATCHELF_DEBUG=1 STRIP=$(STRIP) OBJDUMP=$(OBJDUMP) READELF=$(READELF) OBJCOPY=$(OBJCOPY) CLEANFILES = big-dynstr.c # by default, use -fpic to compile diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patchelf-0.17.0/version new/patchelf-0.17.2/version --- old/patchelf-0.17.0/version 2022-11-07 11:01:18.000000000 +0100 +++ new/patchelf-0.17.2/version 2023-01-10 20:40:56.000000000 +0100 @@ -1 +1 @@ -0.17.0 +0.17.2