Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libalternatives for openSUSE:Factory 
checked in at 2021-06-25 15:00:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libalternatives (Old)
 and      /work/SRC/openSUSE:Factory/.libalternatives.new.2625 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libalternatives"

Fri Jun 25 15:00:32 2021 rev:2 rq:901232 version:1.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/libalternatives/libalternatives.changes  
2021-06-11 00:19:09.673367739 +0200
+++ 
/work/SRC/openSUSE:Factory/.libalternatives.new.2625/libalternatives.changes    
    2021-06-25 15:00:41.196103905 +0200
@@ -1,0 +2,10 @@
+Mon Jun 21 22:00:23 UTC 2021 - adam.ma...@suse.de
+
+- Update to version v1.1:
+  * docs: Add broken manpage
+  * tests: unit tests configs
+  * tests: fix memory leak during tests
+  * list_binaries: initialize pointer that is later used in free
+  * libalts_exec_default() sets errno on not found
+
+-------------------------------------------------------------------

Old:
----
  libalternatives-v1.0.obscpio

New:
----
  libalternatives-v1.1.obscpio

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

Other differences:
------------------
++++++ libalternatives.spec ++++++
--- /var/tmp/diff_new_pack.5CjXgJ/_old  2021-06-25 15:00:41.872104730 +0200
+++ /var/tmp/diff_new_pack.5CjXgJ/_new  2021-06-25 15:00:41.876104735 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package libalternatives
 #
-# Copyright (c) 2021 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,21 +12,22 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
+
 %define sover 1
 
 Name:           libalternatives
-Version:        1.0
+Version:        1.1
 Release:        0
 Summary:        Executes preferred application based on user preferences
 License:        GPL-3.0-or-later AND LGPL-3.0-or-later
-Url:            https://github.com/AdamMajer/libalternative.git
+URL:            https://github.com/AdamMajer/libalternative.git
 Source0:        libalternatives-v%{version}.tar
-BuildRequires:  gcc
 BuildRequires:  cmake > 3.8
 BuildRequires:  cunit-devel
+BuildRequires:  gcc
 
 %description
 libalternatives is a helper that executes an application based on preferences
@@ -36,8 +37,8 @@
 
 
 %package -n alts
-License:        GPL-3.0-or-later
 Summary:        Executes preferred application based on user preferences
+License:        GPL-3.0-or-later
 
 %description -n alts
 This package contains a default helper and configuration application utility
@@ -48,16 +49,16 @@
 
 
 %package devel
-License:        LGPL-3.0-or-later
 Summary:        Development headers for libalternatives
+License:        LGPL-3.0-or-later
 Requires:       libalternatives%sover = %version
 
 %description devel
 This package contains development headers and library for libalternatives.
 
 %package -n libalternatives%sover
-License:        LGPL-3.0-or-later
 Summary:        Runtime for libalternatives
+License:        LGPL-3.0-or-later
 
 %description -n libalternatives%sover
 This package contains the core logic and the runtime library for
@@ -67,8 +68,8 @@
 need to maintain system symlinks states.
 
 %package unit-test-helper
-License:        LGPL-3.0-or-later
 Summary:        Verification helper for libalternatives
+License:        LGPL-3.0-or-later
 
 %description unit-test-helper
 This is a testing-only installation that may be used to verify that successful
@@ -113,6 +114,7 @@
 %license COPYING
 %doc README.md
 %_bindir/alts
+%_mandir/man1/alts.1.*
 
 %files devel
 %_includedir/libalternatives.h

++++++ _service ++++++
--- /var/tmp/diff_new_pack.5CjXgJ/_old  2021-06-25 15:00:41.944104818 +0200
+++ /var/tmp/diff_new_pack.5CjXgJ/_new  2021-06-25 15:00:41.948104823 +0200
@@ -3,7 +3,7 @@
   <param name="scm">git</param>
   <param name="url">https://github.com/openSUSE/libalternatives.git</param>
   <param name="versionformat">@PARENT_TAG@</param>
-  <param name="revision">v1.0</param>
+  <param name="revision">v1.1</param>
   <param name="changesgenerate">enable</param>
 </service>
 <service mode="buildtime" name="tar"/>

++++++ libalternatives-v1.0.obscpio -> libalternatives-v1.1.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libalternatives-v1.0/.gitignore 
new/libalternatives-v1.1/.gitignore
--- old/libalternatives-v1.0/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/libalternatives-v1.1/.gitignore 2021-06-21 23:57:16.000000000 +0200
@@ -0,0 +1 @@
+build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libalternatives-v1.0/CMakeLists.txt 
new/libalternatives-v1.1/CMakeLists.txt
--- old/libalternatives-v1.0/CMakeLists.txt     2021-06-09 16:10:17.000000000 
+0200
+++ new/libalternatives-v1.1/CMakeLists.txt     2021-06-21 23:57:16.000000000 
+0200
@@ -30,3 +30,4 @@
 add_subdirectory(src)
 add_subdirectory(utils)
 add_subdirectory(test)
+add_subdirectory(doc)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libalternatives-v1.0/doc/CMakeLists.txt 
new/libalternatives-v1.1/doc/CMakeLists.txt
--- old/libalternatives-v1.0/doc/CMakeLists.txt 1970-01-01 01:00:00.000000000 
+0100
+++ new/libalternatives-v1.1/doc/CMakeLists.txt 2021-06-21 23:57:16.000000000 
+0200
@@ -0,0 +1,2 @@
+include(GNUInstallDirs)
+install(FILES alts.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1/)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libalternatives-v1.0/doc/alts.1 
new/libalternatives-v1.1/doc/alts.1
--- old/libalternatives-v1.0/doc/alts.1 1970-01-01 01:00:00.000000000 +0100
+++ new/libalternatives-v1.1/doc/alts.1 2021-06-21 23:57:16.000000000 +0200
@@ -0,0 +1,40 @@
+'\" -*- coding: UTF-8 -*-
+.\" Man page for alts
+.\"
+.\" Copyright ??2021 SUSE LLC
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the COPYING file that comes with the
+.\" libalterntaives distribution.
+.\"
+.pc
+.TH ALTS 1 "2021-07-07" "1.0.0" "libalterntaives"
+
+.SH NAME
+alts - manages preferred default commands
+
+.SH SYNOPSIS
+alts [options]
+
+.SH DESCRIPTION
+
+alts is a defaul program manager and its aim is to provide an alternative to 
update-alternatives system
+without relying on symlinks. Instead of symlinks, it relies on configuration 
files. This allows for
+simple per-system or per-user override of default configuration.
+
+.SH OPTIONS
+
+    alts -h         --- this help screen
+    alts -l[name]   --- list programs or just one with given name
+    alts [-u] [-s] -n <program> [-p <alt_priority>]
+       sets an override with a given priority as default
+       if priority is not set, then resets to default by removing override
+       -u -- user override, default for non-root users
+       -s -- system overrude, default for root users
+       -n -- program to override with a given priority alternative
+
+
+.SH SEE ALSO
+update-alternatives(1)
+
+.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libalternatives-v1.0/src/libalternatives.c 
new/libalternatives-v1.1/src/libalternatives.c
--- old/libalternatives-v1.0/src/libalternatives.c      2021-06-09 
16:10:17.000000000 +0200
+++ new/libalternatives-v1.1/src/libalternatives.c      2021-06-21 
23:57:16.000000000 +0200
@@ -637,6 +637,7 @@
 
        if (IS_DEBUG)
                fprintf(stderr, "execDefault() failed with target %s\n", (alts 
? alts->target : NULL));
+       errno = ENOENT;
        return -1;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libalternatives-v1.0/test/alternatives_tests.c 
new/libalternatives-v1.1/test/alternatives_tests.c
--- old/libalternatives-v1.0/test/alternatives_tests.c  2021-06-09 
16:10:17.000000000 +0200
+++ new/libalternatives-v1.1/test/alternatives_tests.c  2021-06-21 
23:57:16.000000000 +0200
@@ -21,6 +21,7 @@
 #include <stdio.h>
 #include <sys/types.h>
 #include <sys/stat.h>
+#include <sys/wait.h>
 #include <fcntl.h>
 #include <unistd.h>
 #include <CUnit/CUnit.h>
@@ -79,6 +80,7 @@
 
        setConfigPath(full_path);
        free((void*)wd);
+       free(full_path);
 
        unlink(libalts_get_user_config_path());
        unlink(libalts_get_system_config_path());
@@ -86,7 +88,7 @@
        return 0;
 }
 
-static int removeIOFiles()
+static int cleanupTests()
 {
        if (CU_get_number_of_failures() == 0) {
                unlink(libalts_get_user_config_path());
@@ -154,7 +156,7 @@
        char *args[] = {"app", "-l"};
 
        CU_ASSERT_EQUAL(WRAP_CALL(args), 0);
-       CU_ASSERT_EQUAL(strcmp(stdout_buffer,
+       CU_ASSERT_STRING_EQUAL(stdout_buffer,
 "Binary: multiple_alts\n\
 Alternatives: 3\n\
   Priority: 10   Target: /usr/bin/node10\n\
@@ -172,7 +174,7 @@
 Alternatives: 2\n\
   Priority: 10   Target: /usr/bin/false\n\
   Priority: 20*  Target: /usr/bin/true\n\
-"), 0);
+");
 }
 
 void listSpecificProgram()
@@ -180,13 +182,13 @@
        char *args[] = {"app", "-l", "multiple_alts"};
 
        CU_ASSERT_EQUAL(WRAP_CALL(args), 0);
-       CU_ASSERT_EQUAL(strcmp(stdout_buffer,
+       CU_ASSERT_STRING_EQUAL(stdout_buffer,
 "Binary: multiple_alts\n\
 Alternatives: 3\n\
   Priority: 10   Target: /usr/bin/node10\n\
   Priority: 20   Target: /usr/bin/node20\n\
   Priority: 30*  Target: /usr/bin/node30\n\
-"), 0);
+");
 }
 
 void adjustPriorityForSpecificProgram()
@@ -200,13 +202,13 @@
        int src;
 
        CU_ASSERT_EQUAL(WRAP_CALL(args_read), 0);
-       CU_ASSERT_EQUAL(strcmp(stdout_buffer,
+       CU_ASSERT_STRING_EQUAL(stdout_buffer,
 "Binary: multiple_alts\n\
 Alternatives: 3\n\
   Priority: 10   Target: /usr/bin/node10\n\
   Priority: 20   Target: /usr/bin/node20\n\
   Priority: 30*  Target: /usr/bin/node30\n\
-"), 0);
+");
 
        CU_ASSERT_EQUAL(libalts_read_configured_priority(binary_name, &src), 0);
 
@@ -214,13 +216,13 @@
        CU_ASSERT_EQUAL(stdout_buffer[0], '\0');
 
        CU_ASSERT_EQUAL(WRAP_CALL(args_read), 0);
-       CU_ASSERT_EQUAL(strcmp(stdout_buffer,
+       CU_ASSERT_STRING_EQUAL(stdout_buffer,
 "Binary: multiple_alts\n\
 Alternatives: 3\n\
   Priority: 10   Target: /usr/bin/node10\n\
   Priority: 20~  Target: /usr/bin/node20\n\
   Priority: 30   Target: /usr/bin/node30\n\
-"), 0);
+");
 
        CU_ASSERT_EQUAL(libalts_read_configured_priority(binary_name, &src), 
20);
        CU_ASSERT_EQUAL(src, 2);
@@ -229,13 +231,13 @@
        CU_ASSERT_EQUAL(stdout_buffer[0], '\0');
 
        CU_ASSERT_EQUAL(WRAP_CALL(args_read), 0);
-       CU_ASSERT_EQUAL(strcmp(stdout_buffer,
+       CU_ASSERT_STRING_EQUAL(stdout_buffer,
 "Binary: multiple_alts\n\
 Alternatives: 3\n\
   Priority: 10   Target: /usr/bin/node10\n\
   Priority: 20~  Target: /usr/bin/node20\n\
   Priority: 30   Target: /usr/bin/node30\n\
-"), 0);
+");
 
        CU_ASSERT_EQUAL(libalts_read_configured_priority(binary_name, &src), 
20);
        CU_ASSERT_EQUAL(src, 2);
@@ -244,13 +246,13 @@
        CU_ASSERT_EQUAL(stdout_buffer[0], '\0');
 
        CU_ASSERT_EQUAL(WRAP_CALL(args_read), 0);
-       CU_ASSERT_EQUAL(strcmp(stdout_buffer,
+       CU_ASSERT_STRING_EQUAL(stdout_buffer,
 "Binary: multiple_alts\n\
 Alternatives: 3\n\
   Priority: 10!  Target: /usr/bin/node10\n\
   Priority: 20   Target: /usr/bin/node20\n\
   Priority: 30   Target: /usr/bin/node30\n\
-"), 0);
+");
 
        CU_ASSERT_EQUAL(libalts_read_configured_priority(binary_name, &src), 
10);
        CU_ASSERT_EQUAL(src, 1);
@@ -259,13 +261,13 @@
        CU_ASSERT_EQUAL(stdout_buffer[0], '\0');
 
        CU_ASSERT_EQUAL(WRAP_CALL(args_read), 0);
-       CU_ASSERT_EQUAL(strcmp(stdout_buffer,
+       CU_ASSERT_STRING_EQUAL(stdout_buffer,
 "Binary: multiple_alts\n\
 Alternatives: 3\n\
   Priority: 10   Target: /usr/bin/node10\n\
   Priority: 20   Target: /usr/bin/node20\n\
   Priority: 30*  Target: /usr/bin/node30\n\
-"), 0);
+");
 
        CU_ASSERT_EQUAL(libalts_read_configured_priority(binary_name, &src), 0);
 }
@@ -280,7 +282,7 @@
 static int restoreGroupTestsAndRemoveIOFiles()
 {
        setConfigDirectory(CONFIG_DIR);
-       return removeIOFiles();
+       return cleanupTests();
 }
 
 static void listSpecificProgramInAGroup()
@@ -288,7 +290,7 @@
        char *args[] = {"app", "-l", "node"};
 
        CU_ASSERT_EQUAL(WRAP_CALL(args), 0);
-       CU_ASSERT_EQUAL(strcmp(stdout_buffer,
+       CU_ASSERT_STRING_EQUAL(stdout_buffer,
 "Binary: node\n\
 Alternatives: 3\n\
   Priority: 10   Target: /usr/bin/node10\n\
@@ -297,7 +299,7 @@
                  Group: node, npm\n\
   Priority: 30*  Target: /usr/bin/node30\n\
                  Group: node, npm\n\
-"), 0);
+");
 }
 
 static void showErrorsForInconsistentGroups()
@@ -305,7 +307,7 @@
        char *args[] = {"app", "-l", "node_bad"};
 
        CU_ASSERT_EQUAL(WRAP_CALL(args), 1);
-       CU_ASSERT_EQUAL(strcmp(stdout_buffer,
+       CU_ASSERT_STRING_EQUAL(stdout_buffer,
 "Binary: node_bad\n\
 Alternatives: 3\n\
   Priority: 10   Target: /usr/bin/node10\n\
@@ -316,7 +318,7 @@
   WARNING: shadows more complete Group with lower priority\n\
   Priority: 30*  Target: /usr/bin/node30\n\
   WARNING: shadows more complete Group with lower priority\n\
-"), 0);
+");
 }
 
 static void setPrioritiesAffectEntireGroup()
@@ -328,7 +330,7 @@
        char *args_status[] = {"app", "-l", "npm"};
 
        CU_ASSERT_EQUAL(WRAP_CALL(args_status), 0);
-       CU_ASSERT_EQUAL(strcmp(stdout_buffer,
+       CU_ASSERT_STRING_EQUAL(stdout_buffer,
 "Binary: npm\n\
 Alternatives: 3\n\
   Priority: 10   Target: /usr/bin/npm10\n\
@@ -337,10 +339,16 @@
                  Group: node, npm\n\
   Priority: 30*  Target: /usr/bin/npm30\n\
                  Group: node, npm\n\
-"), 0);
+");
+       char **manpages = libalts_get_default_manpages("npm");
+       CU_ASSERT_STRING_EQUAL(manpages[0], "npm30.1");
+       CU_ASSERT_EQUAL(manpages[1], NULL);
+       free(manpages[0]);
+       free(manpages);
+
        CU_ASSERT_EQUAL(WRAP_CALL(args_set), 0);
        CU_ASSERT_EQUAL(WRAP_CALL(args_status), 0);
-       CU_ASSERT_EQUAL(strcmp(stdout_buffer,
+       CU_ASSERT_STRING_EQUAL(stdout_buffer,
 "Binary: npm\n\
 Alternatives: 3\n\
   Priority: 10~  Target: /usr/bin/npm10\n\
@@ -349,10 +357,16 @@
                  Group: node, npm\n\
   Priority: 30   Target: /usr/bin/npm30\n\
                  Group: node, npm\n\
-"), 0);
+");
+       manpages = libalts_get_default_manpages("npm");
+       CU_ASSERT_STRING_EQUAL(manpages[0], "npm10.1");
+       CU_ASSERT_EQUAL(manpages[1], NULL);
+       free(manpages[0]);
+       free(manpages);
+
        CU_ASSERT_EQUAL(WRAP_CALL(args_set_system), 0);
        CU_ASSERT_EQUAL(WRAP_CALL(args_status), 0);
-       CU_ASSERT_EQUAL(strcmp(stdout_buffer,
+       CU_ASSERT_STRING_EQUAL(stdout_buffer,
 "Binary: npm\n\
 Alternatives: 3\n\
   Priority: 10~  Target: /usr/bin/npm10\n\
@@ -361,10 +375,11 @@
                  Group: node, npm\n\
   Priority: 30   Target: /usr/bin/npm30\n\
                  Group: node, npm\n\
-"), 0);
+");
+
        CU_ASSERT_EQUAL(WRAP_CALL(args_reset), 0);
        CU_ASSERT_EQUAL(WRAP_CALL(args_status), 0);
-       CU_ASSERT_EQUAL(strcmp(stdout_buffer,
+       CU_ASSERT_STRING_EQUAL(stdout_buffer,
 "Binary: npm\n\
 Alternatives: 3\n\
   Priority: 10!  Target: /usr/bin/npm10\n\
@@ -373,10 +388,16 @@
                  Group: node, npm\n\
   Priority: 30   Target: /usr/bin/npm30\n\
                  Group: node, npm\n\
-"), 0);
+");
+       manpages = libalts_get_default_manpages("npm");
+       CU_ASSERT_STRING_EQUAL(manpages[0], "npm10.1");
+       CU_ASSERT_EQUAL(manpages[1], NULL);
+       free(manpages[0]);
+       free(manpages);
+
        CU_ASSERT_EQUAL(WRAP_CALL(args_reset_system), 0);
        CU_ASSERT_EQUAL(WRAP_CALL(args_status), 0);
-       CU_ASSERT_EQUAL(strcmp(stdout_buffer,
+       CU_ASSERT_STRING_EQUAL(stdout_buffer,
 "Binary: npm\n\
 Alternatives: 3\n\
   Priority: 10   Target: /usr/bin/npm10\n\
@@ -385,12 +406,59 @@
                  Group: node, npm\n\
   Priority: 30*  Target: /usr/bin/npm30\n\
                  Group: node, npm\n\
-"), 0);
+");
+       manpages = libalts_get_default_manpages("npm");
+       CU_ASSERT_STRING_EQUAL(manpages[0], "npm30.1");
+       CU_ASSERT_EQUAL(manpages[1], NULL);
+       free(manpages[0]);
+       free(manpages);
+}
+
+
+static int setupExecTests()
+{
+       setConfigDirectory(CONFIG_DIR "/../test_exec");
+       //setenv("LIBALTERNATIVES_DEBUG", "1", 1);
+       return setupTests();
+}
+
+static int cleanupExecTests()
+{
+       setConfigDirectory(CONFIG_DIR);
+       //unsetenv("LIBALTERNATIVES_DEBUG");
+       return cleanupTests();
+}
+
+static void failedExecOfUnknown()
+{
+       char *command_not_found[] = { "/usr/some/something_not_there", 
"-param", NULL };
+       CU_ASSERT_EQUAL(libalts_exec_default(command_not_found), -1);
+       CU_ASSERT_EQUAL(errno, ENOENT);
+}
+
+static void validExecCommand()
+{
+       char *command_false[] = { "/usr/path/test42", NULL };
+       pid_t child_pid = fork();
+       int status = 1000;
+
+       switch (child_pid) {
+               case -1:
+                       CU_ASSERT_FATAL(-1);
+                       return;
+               case 0:
+                       libalts_exec_default(command_false);
+                       exit(100);
+               default:
+                       CU_ASSERT_EQUAL_FATAL(wait(&status), child_pid);
+                       CU_ASSERT(WIFEXITED(status));
+                       CU_ASSERT_EQUAL(WEXITSTATUS(status), 1);
+       }
 }
 
 void addAlternativesAppTests()
 {
-       CU_pSuite suite = CU_add_suite_with_setup_and_teardown("Alternative App 
Tests", setupTests, removeIOFiles, storeErrorCount, printOutputOnErrorIncrease);
+       CU_pSuite suite = CU_add_suite_with_setup_and_teardown("Alternative App 
Tests", setupTests, cleanupTests, storeErrorCount, printOutputOnErrorIncrease);
        CU_ADD_TEST(suite, helpScreen);
        CU_ADD_TEST(suite, unknownParamsHelpScreen);
        CU_ADD_TEST(suite, moreThanOneCommand);
@@ -403,4 +471,8 @@
        CU_ADD_TEST(suite, listSpecificProgramInAGroup);
        CU_ADD_TEST(suite, showErrorsForInconsistentGroups);
        CU_ADD_TEST(suite, setPrioritiesAffectEntireGroup);
+
+       suite = CU_add_suite_with_setup_and_teardown("Default Exec Tests", 
setupExecTests, cleanupExecTests, storeErrorCount, printOutputOnErrorIncrease);
+       CU_ADD_TEST(suite, failedExecOfUnknown);
+       CU_ADD_TEST(suite, validExecCommand);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libalternatives-v1.0/test/test_exec/test42/10.conf 
new/libalternatives-v1.1/test/test_exec/test42/10.conf
--- old/libalternatives-v1.0/test/test_exec/test42/10.conf      1970-01-01 
01:00:00.000000000 +0100
+++ new/libalternatives-v1.1/test/test_exec/test42/10.conf      2021-06-21 
23:57:16.000000000 +0200
@@ -0,0 +1,2 @@
+man=test
+binary=/usr/bin/false
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libalternatives-v1.0/test/test_exec/test42/8.conf 
new/libalternatives-v1.1/test/test_exec/test42/8.conf
--- old/libalternatives-v1.0/test/test_exec/test42/8.conf       1970-01-01 
01:00:00.000000000 +0100
+++ new/libalternatives-v1.1/test/test_exec/test42/8.conf       2021-06-21 
23:57:16.000000000 +0200
@@ -0,0 +1,2 @@
+binary=/usr/bin/true
+man=testing man
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libalternatives-v1.0/utils/list_binaries.c 
new/libalternatives-v1.1/utils/list_binaries.c
--- old/libalternatives-v1.0/utils/list_binaries.c      2021-06-09 
16:10:17.000000000 +0200
+++ new/libalternatives-v1.1/utils/list_binaries.c      2021-06-21 
23:57:16.000000000 +0200
@@ -71,6 +71,7 @@
        for (size_t i=0; i<*bin_size; i++) {
                struct InstalledBinaryData *binary = (*binaries_ptr) + i;
                binary->binary_name = binary_names_array[i];
+               binary->alts = NULL;
 
                if (libalts_load_binary_priorities(binary->binary_name, 
&binary->priorities, &binary->num_priorities) != 0) {
                        if (errno == ENOENT) {
@@ -200,6 +201,7 @@
        free(data->priorities);
        for (size_t i=0; i<data->num_priorities; i++)
                libalts_free_alternatives_ptr(&data->alts[i]);
+       free(data->alts);
 }
 
 int printInstalledBinariesAndTheirOverrideStates(const char *program)
@@ -221,7 +223,6 @@
                printInstalledBinaryAlternatives(binaries + i, errors, 
n_errors);
                freeInstalledBinaryDataStruct(binaries + i);
        }
-       free(binaries->alts);
        free(binaries);
        free(errors);
 

++++++ libalternatives.obsinfo ++++++
--- /var/tmp/diff_new_pack.5CjXgJ/_old  2021-06-25 15:00:42.104105013 +0200
+++ /var/tmp/diff_new_pack.5CjXgJ/_new  2021-06-25 15:00:42.104105013 +0200
@@ -1,5 +1,5 @@
 name: libalternatives
-version: v1.0
-mtime: 1623247817
-commit: c24417e035114db2f84a31a80bfaeedb8df234a0
+version: v1.1
+mtime: 1624312636
+commit: 1946f71a5240b605e558f9f2c29333088f07bcf5
 

Reply via email to