fix possible segfault in arrays handling(debbug #586969), initialize f_void to work with math lib again(#664080)

This commit is contained in:
Ondřej Vašík 2010-12-22 10:34:13 +01:00
parent 7aa4f807bb
commit 1915e07475
2 changed files with 28 additions and 2 deletions

20
bc-1.06.95-matlib.patch Normal file
View File

@ -0,0 +1,20 @@
diff -urNp bc-1.06.95-orig/bc/storage.c bc-1.06.95/bc/storage.c
--- bc-1.06.95-orig/bc/storage.c 2006-09-05 04:39:31.000000000 +0200
+++ bc-1.06.95/bc/storage.c 2010-12-22 10:26:43.805250912 +0100
@@ -99,6 +99,7 @@ more_functions (VOID)
{
f = &functions[indx];
f->f_defined = FALSE;
+ f->f_void = FALSE;
f->f_body = (char *) bc_malloc (BC_START_SIZE);
f->f_body_size = BC_START_SIZE;
f->f_code_size = 0;
@@ -179,7 +180,7 @@ more_arrays ()
/* Initialize the new elements. */
- for (; indx < v_count; indx++)
+ for (; indx < a_count; indx++)
arrays[indx] = NULL;
/* Free the old elements. */

10
bc.spec
View File

@ -1,13 +1,14 @@
Summary: GNU's bc (a numeric processing language) and dc (a calculator)
Name: bc
Version: 1.06.95
Release: 1%{?dist}
Release: 2%{?dist}
License: GPLv2+
URL: http://www.gnu.org/software/bc/
Group: Applications/Engineering
Source: ftp://alpha.gnu.org/pub/gnu/bc/bc-%{version}.tar.bz2
Patch1: bc-1.06-dc_ibase.patch
Patch2: bc-1.06.95-memleak.patch
Patch3: bc-1.06.95-matlib.patch
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -26,6 +27,7 @@ if you would like to use its text mode calculator.
%setup -q
%patch1 -p1 -b .dc_ibase
%patch2 -p1 -b .memleak
%patch3 -p1 -b .matlib
%build
%configure --with-readline
@ -65,7 +67,11 @@ fi
%{_infodir}/*
%changelog
* Thu Sep 24 2009 Ondrej Vasik <ovasik@redhat.com> 1.06-95-1
* Wed Dec 22 2010 Ondrej Vasik <ovasik@redhat.com> 1.06.95-2
- fix possible segfault in arrays handling(debbug #586969)
- initialize f_void to work with math lib again(#664080)
* Thu Sep 24 2009 Ondrej Vasik <ovasik@redhat.com> 1.06.95-1
- update to upstream alpha 1.06.95 (in use in Gentoo, Slackware
for quite a long time, marked stable there)
- removed already applied patches, fix small memory leak