[packages/popt] - added alias-argc patch: don't require sentinel in alias argv (argc should be enough) fixes inval
qboosh
qboosh at pld-linux.org
Sat Dec 8 11:11:45 CET 2018
commit e130537da5589f6bd8aa081658ad849ff12003bd
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sat Dec 8 11:14:43 2018 +0100
- added alias-argc patch: don't require sentinel in alias argv (argc should be enough)
fixes invalid read and probable invalid free
- release 3
==5349== Invalid read of size 4
==5349== at 0x40DAAF2: poptFreeItems (popt.c:1777)
==5349== by 0x40DABAD: poptFreeContext (popt.c:1794)
==5349== by 0x80719D5: parse_arguments (options.c:1406)
==5349== by 0x806938B: main (main.c:1574)
==5349== Address 0x44c9f0c is 0 bytes after a block of size 4 alloc'd
==5349== at 0x40335F6: malloc (vg_replace_malloc.c:299)
==5349== by 0x8065D8B: _new_array (util2.c:68)
==5349== by 0x80714C0: popt_unalias (options.c:1313)
==5349== by 0x8071649: parse_arguments (options.c:1360)
==5349== by 0x806938B: main (main.c:1574)
popt-alias-argc.patch | 11 +++++++++++
popt.spec | 4 +++-
2 files changed, 14 insertions(+), 1 deletion(-)
---
diff --git a/popt.spec b/popt.spec
index ae869d2..7c8fa9b 100644
--- a/popt.spec
+++ b/popt.spec
@@ -11,12 +11,13 @@ Summary(tr.UTF-8): Komut satırı parametrelerini ayrıştırımak için C arşi
Summary(uk.UTF-8): Бібліотека C для розбору параметрів командної стрічки
Name: popt
Version: 1.17
-Release: 2
+Release: 3
License: X Consortium (MIT-like)
Group: Libraries
Source0: http://rpm5.org/files/popt/%{name}-%{version}.tar.gz
# Source0-md5: 7f98c657d35981d30dd372da5335c354
Patch0: %{name}-diet.patch
+Patch1: %{name}-alias-argc.patch
URL: http://rpm5.org/
BuildRequires: autoconf >= 2.57
BuildRequires: automake >= 1.4
@@ -156,6 +157,7 @@ Biblioteka statyczna dietlibc popt.
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
%{__sed} -i -e 's#po/Makefile.in intl/Makefile##g' configure.ac
diff --git a/popt-alias-argc.patch b/popt-alias-argc.patch
new file mode 100644
index 0000000..3b3c53b
--- /dev/null
+++ b/popt-alias-argc.patch
@@ -0,0 +1,11 @@
+--- popt-1.17/popt.c.orig 2014-08-09 22:13:11.000000000 +0200
++++ popt-1.17/popt.c 2018-12-08 09:41:33.241167491 +0100
+@@ -1774,7 +1774,7 @@
+ item->option.argDescrip = _free(item->option.argDescrip);
+ /*@=modobserver =observertrans =dependenttrans@*/
+ #if !defined(SUPPORT_CONTIGUOUS_ARGV)
+- for (i = 0; item->argv[i]; i++)
++ for (i = 0; (i < item->argc) && item->argv[i]; i++)
+ item->argv[i] = _free(item->argv[i]);
+ #endif
+ item->argv = _free(item->argv);
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/popt.git/commitdiff/e130537da5589f6bd8aa081658ad849ff12003bd
More information about the pld-cvs-commit
mailing list