From 778c4c228d29d248a3f3d4e30c350cd1a981d450 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Jan 29 2013 13:17:57 +0000 Subject: fix bugs in merge_group_entries() --- diff --git a/shadow-4.1.5.1-merge-group.patch b/shadow-4.1.5.1-merge-group.patch new file mode 100644 index 0000000..f5cea10 --- /dev/null +++ b/shadow-4.1.5.1-merge-group.patch @@ -0,0 +1,27 @@ +diff -up shadow-4.1.5.1/lib/groupio.c.merge-group shadow-4.1.5.1/lib/groupio.c +--- shadow-4.1.5.1/lib/groupio.c.merge-group 2011-02-16 21:32:24.000000000 +0100 ++++ shadow-4.1.5.1/lib/groupio.c 2013-01-29 13:56:43.049275513 +0100 +@@ -330,12 +330,12 @@ static /*@null@*/struct commonio_entry * + + /* Concatenate the 2 lines */ + new_line_len = strlen (gr1->line) + strlen (gr2->line) +1; +- new_line = (char *)malloc ((new_line_len + 1) * sizeof(char*)); ++ new_line = (char *)malloc (new_line_len + 1); + if (NULL == new_line) { + errno = ENOMEM; + return NULL; + } +- snprintf(new_line, new_line_len, "%s\n%s", gr1->line, gr2->line); ++ snprintf(new_line, new_line_len + 1, "%s\n%s", gr1->line, gr2->line); + new_line[new_line_len] = '\0'; + + /* Concatenate the 2 list of members */ +@@ -353,7 +353,7 @@ static /*@null@*/struct commonio_entry * + members++; + } + } +- new_members = (char **)malloc ( (members+1) * sizeof(char*) ); ++ new_members = (char **)calloc (members+1, sizeof(char*)); + if (NULL == new_members) { + free (new_line); + errno = ENOMEM; diff --git a/shadow-utils.spec b/shadow-utils.spec index e47c351..d654df3 100644 --- a/shadow-utils.spec +++ b/shadow-utils.spec @@ -1,7 +1,7 @@ Summary: Utilities for managing accounts and shadow password files Name: shadow-utils Version: 4.1.5.1 -Release: 2%{?dist} +Release: 3%{?dist} Epoch: 2 URL: http://pkg-shadow.alioth.debian.org/ Source0: http://pkg-shadow.alioth.debian.org/releases/shadow-%{version}.tar.bz2 @@ -15,6 +15,7 @@ Patch3: shadow-4.1.5-uflg.patch Patch6: shadow-4.1.5.1-selinux.patch Patch7: shadow-4.1.5-2ndskip.patch Patch8: shadow-4.1.5.1-backup-mode.patch +Patch9: shadow-4.1.5.1-merge-group.patch License: BSD and GPLv2+ Group: System Environment/Base BuildRequires: libselinux-devel >= 1.25.2-1 @@ -50,6 +51,7 @@ are used for managing group accounts. %patch6 -p1 -b .selinux %patch7 -p1 -b .2ndskip %patch8 -p1 -b .backup-mode +%patch9 -p1 -b .merge-group iconv -f ISO88591 -t utf-8 doc/HOWTO > doc/HOWTO.utf8 cp -f doc/HOWTO.utf8 doc/HOWTO @@ -203,6 +205,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man8/vigr.8* %changelog +* Tue Jan 29 2013 Tomas Mraz - 2:4.1.5.1-3 +- fix bugs in merge_group_entries() + * Fri Jan 11 2013 Tomas Mraz - 2:4.1.5.1-2 - /etc/default is owned by glibc-common now (#894194)