[yap] Fix off-by-one error when initializing yap_flags

Petr Pisar ppisar at fedoraproject.org
Mon Jan 7 16:48:57 UTC 2013


commit 1246ea087880eec48940207420518083d9c98f01
Author: Petr Písař <ppisar at redhat.com>
Date:   Mon Jan 7 17:42:05 2013 +0100

    Fix off-by-one error when initializing yap_flags

 ...-by-one-error-when-initializing-yap_flags.patch |   27 ++++++++++++++++++++
 yap.spec                                           |    8 +++++-
 2 files changed, 34 insertions(+), 1 deletions(-)
---
diff --git a/yap-6.2.2-Off-by-one-error-when-initializing-yap_flags.patch b/yap-6.2.2-Off-by-one-error-when-initializing-yap_flags.patch
new file mode 100644
index 0000000..e0b59a5
--- /dev/null
+++ b/yap-6.2.2-Off-by-one-error-when-initializing-yap_flags.patch
@@ -0,0 +1,27 @@
+From 1fba7f121d0f3e93faa94be4dbeba383176717f6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
+Date: Mon, 7 Jan 2013 17:31:08 +0100
+Subject: [PATCH] Off-by-one error when initializing yap_flags
+
+The yap_flags_field of all_heap_codes structure is of type
+Int[LAST_FLAG], thus the loop should iterate from 0 to LAST_FLAG - 1.
+---
+ C/init.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/C/init.c b/C/init.c
+index dda09cc..8f01864 100755
+--- a/C/init.c
++++ b/C/init.c
+@@ -1348,7 +1348,7 @@ Yap_InitWorkspace(UInt Heap, UInt Stack, UInt Trail, UInt Atts, UInt max_table_s
+   Yap_InitTime ();
+   /* InitAbsmi must be done before InitCodes */
+   /* This must be done before initialising predicates */
+-  for (i = 0; i <= LAST_FLAG; i++) {
++  for (i = 0; i < LAST_FLAG; i++) {
+     yap_flags[i] = 0;
+   }
+ #ifdef MPW
+-- 
+1.7.11.7
+
diff --git a/yap.spec b/yap.spec
index 27f2c70..5b09f26 100644
--- a/yap.spec
+++ b/yap.spec
@@ -4,7 +4,7 @@
 
 Name:       yap
 Version:    6.2.2
-Release:    4%{?dist}
+Release:    5%{?dist}
 Summary:    High-performance Prolog Compiler
 Group:      Development/Languages
 # README                            Perl Artistic license 2 and the FSF's LGPL
@@ -27,6 +27,8 @@ Patch7:     yap-6.2.0-Do-not-install-info-dir-index.patch
 Patch8:     yap-6.2.0-gprof-macro.patch
 # Fix compilation of PLStream package on PPC
 Patch9:     yap-6.2.0-Remove-feature-macro.patch
+# Reported to upstream <yap-users at lists.sourceforge.net>
+Patch10:    yap-6.2.2-Off-by-one-error-when-initializing-yap_flags.patch
 # yap 6.2.2 does not work on PPC (bug #790625)
 ExcludeArch:    ppc ppc64
 BuildRequires:  autoconf
@@ -83,6 +85,7 @@ Documentation for Yap.
 %patch7 -p1 -b .do_not_install_info_index
 %patch8 -p1 -b .macro
 %patch9 -p1 -b .remove_feature_macro
+%patch10 -p1 -b .initialization
 
 # remove redundant RPATH
 sed -i 's/-Wl,-R\(,\)\{0,1\}\\$(LIBDIR)//' configure.in
@@ -223,6 +226,9 @@ fi
 
 
 %changelog
+* Mon Jan 07 2013 Petr Pisar <ppisar at redhat.com> - 6.2.2-5
+- Fix off-by-one error when initializing yap_flags
+
 * Sun Jul 22 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 6.2.2-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
 


More information about the scm-commits mailing list