Compare commits

..

No commits in common. "c9-beta" and "c8s" have entirely different histories.
c9-beta ... c8s

19 changed files with 1641 additions and 212 deletions

View File

@ -1 +0,0 @@
ae554df297aee676b4d16f261fa5c60e285478f6 SOURCES/aspell-0.60.8.tar.gz

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/aspell-0.60.8.tar.gz /aspell-0.60.6.1.tar.gz

View File

@ -1,55 +0,0 @@
diff --git a/Makefile.in b/Makefile.in
index f293649..e5d2b1a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -518,6 +518,7 @@ distcleancheck_listfiles = find . -type f -print
# These are needed due to a bug in Automake
pkgdatadir = @pkgdatadir@
+pkgdatadir2 = @pkgdatadir2@
pkglibdir = @pkglibdir@
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -2071,7 +2072,7 @@ gen/dirs.h: gen/mk-dirs_h.pl
perl ${srcdir}/gen/mk-dirs_h.pl ${prefix} ${pkgdatadir} ${pkglibdir} ${sysconfdir} > gen/dirs.h
scripts/run-with-aspell: scripts/run-with-aspell.create
- sh ${srcdir}/scripts/run-with-aspell.create ${pkgdatadir} > scripts/run-with-aspell
+ sh ${srcdir}/scripts/run-with-aspell.create ${pkgdatadir2} > scripts/run-with-aspell
chmod 755 scripts/run-with-aspell
@PSPELL_COMPATIBILITY_TRUE@scripts/pspell-config: scripts/mkconfig
@PSPELL_COMPATIBILITY_TRUE@ sh ${srcdir}/scripts/mkconfig ${VERSION} ${datadir} ${pkgdatadir}
diff --git a/configure b/configure
index 1236c90..8a6e697 100755
--- a/configure
+++ b/configure
@@ -709,6 +709,7 @@ CXXFLAGS
CXX
pkglibdir
pkgdatadir
+pkgdatadir2
pkgdocdir
MAINT
MAINTAINER_MODE_FALSE
@@ -3297,18 +3298,21 @@ pkgdatadir=undef
# Check whether --enable-pkgdatadir was given.
if test "${enable_pkgdatadir+set}" = set; then :
enableval=$enable_pkgdatadir; pkgdatadir=$enable_pkgdatadir
+ pkgdatadir2=$enable_pkgdatadir
fi
# Check whether --enable-pkgdata-dir was given.
if test "${enable_pkgdata_dir+set}" = set; then :
enableval=$enable_pkgdata_dir; pkgdatadir=$enable_dict_dir
+ pkgdatadir2=$enable_dict_dir
fi
if test "$pkgdatadir" = "undef"
then
pkgdatadir=\${libdir}/aspell-0.60
+ pkgdatadir2=${exec_prefix}/lib/aspell-0.60:${exec_prefix}/lib64/aspell-0.60
fi

View File

@ -1,48 +0,0 @@
diff --git a/manual/aspell.1 b/manual/aspell.1
index 854debf..b1106ca 100644
--- a/manual/aspell.1
+++ b/manual/aspell.1
@@ -328,7 +328,6 @@ are also allowed. The \fI/etc/aspell.conf\fR file is a good example of
how to set these options and the Aspell Manual has more detailed info.
.SH SEE ALSO
.PP
-.BR aspell\-import (1),
.BR prezip\-bin (1),
.BR run\-with\-aspell (1),
.BR word\-list\-compress (1)
diff --git a/manual/prezip-bin.1 b/manual/prezip-bin.1
index afb6c05..09b5784 100644
--- a/manual/prezip-bin.1
+++ b/manual/prezip-bin.1
@@ -99,7 +99,6 @@ the output file is not complete.
.SH SEE ALSO
.PP
.BR aspell (1),
-.BR aspell\-import (1),
.BR run\-with\-aspell (1),
.BR word\-list\-compress (1)
.PP
diff --git a/manual/run-with-aspell.1 b/manual/run-with-aspell.1
index 8dea131..67f3117 100644
--- a/manual/run-with-aspell.1
+++ b/manual/run-with-aspell.1
@@ -28,7 +28,6 @@ such as ispell's own scripts.
.SH SEE ALSO
.PP
.BR aspell (1),
-.BR aspell\-import (1),
.BR word\-list\-compress (1)
.PP
Aspell is fully documented in its Texinfo manual. See the
diff --git a/manual/word-list-compress.1 b/manual/word-list-compress.1
index 5126cd2..6686997 100644
--- a/manual/word-list-compress.1
+++ b/manual/word-list-compress.1
@@ -80,7 +80,6 @@ be written to.
.SH SEE ALSO
.PP
.BR aspell (1),
-.BR aspell\-import (1),
.BR prezip\-bin (1),
.BR run\-with\-aspell (1)
.PP

View File

@ -0,0 +1,30 @@
diff -up aspell-0.60.6.1/manual/Makefile.in.iinfo aspell-0.60.6.1/manual/Makefile.in
--- aspell-0.60.6.1/manual/Makefile.in.iinfo 2011-07-04 10:58:49.000000000 +0200
+++ aspell-0.60.6.1/manual/Makefile.in 2011-08-15 16:29:40.999718535 +0200
@@ -607,16 +607,16 @@ install-info-am: $(INFO_DEPS)
else : ; fi; \
done; \
done
- @$(POST_INSTALL)
- @if (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
- install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
- done; \
- else : ; fi
+# @$(POST_INSTALL)
+# @if (install-info --version && \
+# install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+# list='$(INFO_DEPS)'; \
+# for file in $$list; do \
+# relfile=`echo "$$file" | sed 's|^.*/||'`; \
+# echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
+# install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
+# done; \
+# else : ; fi
install-man: install-man1
install-pdf: install-pdf-am

View File

@ -0,0 +1,70 @@
diff -up aspell-0.60.6.1/configure.fc aspell-0.60.6.1/configure
--- aspell-0.60.6.1/configure.fc 2011-07-04 10:58:50.000000000 +0200
+++ aspell-0.60.6.1/configure 2011-08-16 11:28:58.626771599 +0200
@@ -839,6 +839,7 @@ MAINTAINER_MODE_FALSE
MAINT
pkgdocdir
pkgdatadir
+pkgdatadir2
pkglibdir
CXX
CXXFLAGS
@@ -2634,18 +2635,21 @@ pkgdatadir=undef
# Check whether --enable-pkgdatadir was given.
if test "${enable_pkgdatadir+set}" = set; then
enableval=$enable_pkgdatadir; pkgdatadir=$enable_pkgdatadir
+ pkgdatadir2=$enable_pkgdatadir
fi
# Check whether --enable-pkgdata-dir was given.
if test "${enable_pkgdata_dir+set}" = set; then
enableval=$enable_pkgdata_dir; pkgdatadir=$enable_dict_dir
+ pkgdatadir2=$enable_dict_dir
fi
if test "$pkgdatadir" = "undef"
then
pkgdatadir=\${libdir}/aspell-0.60
+ pkgdatadir2=${exec_prefix}/lib/aspell-0.60:${exec_prefix}/lib64/aspell-0.60
fi
@@ -20119,6 +20123,7 @@ MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_F
MAINT!$MAINT$ac_delim
pkgdocdir!$pkgdocdir$ac_delim
pkgdatadir!$pkgdatadir$ac_delim
+pkgdatadir2!$pkgdatadir2$ac_delim
pkglibdir!$pkglibdir$ac_delim
CXX!$CXX$ac_delim
CXXFLAGS!$CXXFLAGS$ac_delim
@@ -20142,7 +20147,7 @@ ac_ct_CC!$ac_ct_CC$ac_delim
CCDEPMODE!$CCDEPMODE$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 98; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
diff -up aspell-0.60.6.1/Makefile.in.fc aspell-0.60.6.1/Makefile.in
--- aspell-0.60.6.1/Makefile.in.fc 2011-07-04 10:58:49.000000000 +0200
+++ aspell-0.60.6.1/Makefile.in 2011-08-16 11:20:09.030887258 +0200
@@ -344,6 +344,7 @@ distcleancheck_listfiles = find . -type
# These are needed due to a bug in Automake
pkgdatadir = @pkgdatadir@
+pkgdatadir2 = @pkgdatadir2@
pkglibdir = @pkglibdir@
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -1932,7 +1933,7 @@ gen/dirs.h: gen/mk-dirs_h.pl
cd gen; perl mk-dirs_h.pl ${prefix} ${pkgdatadir} ${pkglibdir} ${sysconfdir} > dirs.h
scripts/run-with-aspell: scripts/run-with-aspell.create
- sh ${srcdir}/scripts/run-with-aspell.create ${pkgdatadir} > scripts/run-with-aspell
+ sh ${srcdir}/scripts/run-with-aspell.create ${pkgdatadir2} > scripts/run-with-aspell
chmod 755 scripts/run-with-aspell
@PSPELL_COMPATIBILITY_TRUE@scripts/pspell-config: scripts/mkconfig
@PSPELL_COMPATIBILITY_TRUE@ sh ${srcdir}/scripts/mkconfig ${VERSION} ${datadir} ${pkgdatadir}

View File

@ -1,21 +1,50 @@
diff --git a/Makefile.in b/Makefile.in diff -up aspell-0.60.6.1/configure.mlib aspell-0.60.6.1/configure
index e5d2b1a..bc53e34 100644 --- aspell-0.60.6.1/configure.mlib 2011-08-16 11:40:48.000000000 +0200
--- a/Makefile.in +++ aspell-0.60.6.1/configure 2011-08-16 11:41:44.013663519 +0200
+++ b/Makefile.in @@ -18989,7 +18989,7 @@ rm -f core conftest.err conftest.$ac_obj
@@ -1019,6 +1019,8 @@ clean-filterLTLIBRARIES: # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
-ac_config_files="$ac_config_files Makefile gen/Makefile common/Makefile lib/Makefile data/Makefile auto/Makefile modules/Makefile modules/tokenizer/Makefile modules/speller/Makefile modules/speller/default/Makefile interfaces/Makefile interfaces/cc/Makefile scripts/Makefile examples/Makefile prog/Makefile manual/Makefile po/Makefile.in m4/Makefile modules/filter/Makefile myspell/Makefile lib5/Makefile"
+ac_config_files="$ac_config_files Makefile gen/Makefile common/Makefile lib/Makefile data/Makefile auto/Makefile modules/Makefile modules/tokenizer/Makefile modules/speller/Makefile modules/speller/default/Makefile interfaces/Makefile interfaces/cc/Makefile aspell.pc scripts/Makefile examples/Makefile prog/Makefile manual/Makefile po/Makefile.in m4/Makefile modules/filter/Makefile myspell/Makefile lib5/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -19985,7 +19985,7 @@ do
"modules/filter/Makefile") CONFIG_FILES="$CONFIG_FILES modules/filter/Makefile" ;;
"myspell/Makefile") CONFIG_FILES="$CONFIG_FILES myspell/Makefile" ;;
"lib5/Makefile") CONFIG_FILES="$CONFIG_FILES lib5/Makefile" ;;
-
+ "aspell.pc" ) CONFIG_FILES="$CONFIG_FILES aspell.pc" ;;
*) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
diff -up aspell-0.60.6.1/Makefile.in.mlib aspell-0.60.6.1/Makefile.in
--- aspell-0.60.6.1/Makefile.in.mlib 2011-08-16 11:20:09.000000000 +0200
+++ aspell-0.60.6.1/Makefile.in 2011-08-16 11:46:30.643236786 +0200
@@ -816,6 +816,8 @@ clean-filterLTLIBRARIES:
done
install-libLTLIBRARIES: $(lib_LTLIBRARIES) install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + mkdir -p $(libdir)/pkgconfig; \
+ mkdir -p $(DESTDIR)$(libdir)/pkgconfig; \ + cp aspell.pc $(libdir)/pkgconfig/aspell.pc; \
+ cp aspell.pc $(DESTDIR)$(libdir)/pkgconfig/aspell.pc; \ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
list2=; for p in $$list; do \ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \ if test -f $$p; then \
list2="$$list2 $$p"; \ diff -up aspell-0.60.6.1/scripts/mkconfig.mlib aspell-0.60.6.1/scripts/mkconfig
diff --git a/aspell.pc.in b/aspell.pc.in --- aspell-0.60.6.1/scripts/mkconfig.mlib 2004-01-03 13:06:24.000000000 +0100
new file mode 100644 +++ aspell-0.60.6.1/scripts/mkconfig 2011-08-16 11:42:46.810519200 +0200
index 0000000..13da044 @@ -15,7 +15,7 @@ case \$1 in
--- /dev/null echo "$2"
+++ b/aspell.pc.in ;;
--pkgdatadir | pkgdatadir)
- echo "$3"
+ pkg-config aspell --variable=pkgdatadir
;;
*)
echo "usage: pspell-config version|datadir|pkgdatadir"
--- /dev/null 2007-01-02 09:09:01.616000852 +0100
+++ aspell-0.60.6.1/aspell.pc.in 2007-01-02 14:59:04.000000000 +0100
@@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
+prefix=@prefix@ +prefix=@prefix@
+exec_prefix=@exec_prefix@ +exec_prefix=@exec_prefix@
@ -29,37 +58,3 @@ index 0000000..13da044
+Requires: +Requires:
+Libs: -L${libdir} -laspell +Libs: -L${libdir} -laspell
+Cflags: -I${includedir} +Cflags: -I${includedir}
diff --git a/configure b/configure
index 8a6e697..995a3df 100755
--- a/configure
+++ b/configure
@@ -18732,7 +18732,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
-ac_config_files="$ac_config_files Makefile gen/Makefile common/Makefile lib/Makefile data/Makefile auto/Makefile modules/Makefile modules/tokenizer/Makefile modules/speller/Makefile modules/speller/default/Makefile interfaces/Makefile interfaces/cc/Makefile scripts/Makefile examples/Makefile prog/Makefile manual/Makefile po/Makefile.in m4/Makefile modules/filter/Makefile myspell/Makefile lib5/Makefile"
+ac_config_files="$ac_config_files Makefile gen/Makefile common/Makefile lib/Makefile data/Makefile auto/Makefile modules/Makefile modules/tokenizer/Makefile modules/speller/Makefile modules/speller/default/Makefile interfaces/Makefile interfaces/cc/Makefile aspell.pc scripts/Makefile examples/Makefile prog/Makefile manual/Makefile po/Makefile.in m4/Makefile modules/filter/Makefile myspell/Makefile lib5/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -19887,6 +19887,7 @@ do
"modules/filter/Makefile") CONFIG_FILES="$CONFIG_FILES modules/filter/Makefile" ;;
"myspell/Makefile") CONFIG_FILES="$CONFIG_FILES myspell/Makefile" ;;
"lib5/Makefile") CONFIG_FILES="$CONFIG_FILES lib5/Makefile" ;;
+ "aspell.pc") CONFIG_FILES="$CONFIG_FILES aspell.pc" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
diff --git a/scripts/mkconfig b/scripts/mkconfig
index 608e3f7..f15f31c 100755
--- a/scripts/mkconfig
+++ b/scripts/mkconfig
@@ -15,7 +15,7 @@ case \$1 in
echo "$2"
;;
--pkgdatadir | pkgdatadir)
- echo "$3"
+ pkg-config aspell --variable=pkgdatadir
;;
*)
echo "usage: pspell-config version|datadir|pkgdatadir"

44
aspell-0.60.6-mp.patch Normal file
View File

@ -0,0 +1,44 @@
diff -up aspell-0.60.6/manual/aspell.1.pom aspell-0.60.6/manual/aspell.1
--- aspell-0.60.6/manual/aspell.1.pom 2006-12-19 11:55:08.000000000 +0100
+++ aspell-0.60.6/manual/aspell.1 2010-08-17 09:42:14.000000000 +0200
@@ -328,7 +328,6 @@ are also allowed. The \fI/etc/aspell.co
how to set these options and the Aspell Manual has more detailed info.
.SH SEE ALSO
.PP
-.BR aspell\-import (1),
.BR prezip\-bin (1),
.BR run\-with\-aspell (1),
.BR word\-list\-compress (1)
diff -up aspell-0.60.6/manual/prezip-bin.1.pom aspell-0.60.6/manual/prezip-bin.1
--- aspell-0.60.6/manual/prezip-bin.1.pom 2005-10-21 14:18:23.000000000 +0200
+++ aspell-0.60.6/manual/prezip-bin.1 2010-08-17 09:42:21.000000000 +0200
@@ -99,7 +99,6 @@ the output file is not complete.
.SH SEE ALSO
.PP
.BR aspell (1),
-.BR aspell\-import (1),
.BR run\-with\-aspell (1),
.BR word\-list\-compress (1)
.PP
diff -up aspell-0.60.6/manual/run-with-aspell.1.pom aspell-0.60.6/manual/run-with-aspell.1
--- aspell-0.60.6/manual/run-with-aspell.1.pom 2004-03-05 05:05:02.000000000 +0100
+++ aspell-0.60.6/manual/run-with-aspell.1 2010-08-17 09:42:28.000000000 +0200
@@ -28,7 +28,6 @@ such as ispell's own scripts.
.SH SEE ALSO
.PP
.BR aspell (1),
-.BR aspell\-import (1),
.BR word\-list\-compress (1)
.PP
Aspell is fully documented in its Texinfo manual. See the
diff -up aspell-0.60.6/manual/word-list-compress.1.pom aspell-0.60.6/manual/word-list-compress.1
--- aspell-0.60.6/manual/word-list-compress.1.pom 2005-10-21 14:18:23.000000000 +0200
+++ aspell-0.60.6/manual/word-list-compress.1 2010-08-17 09:42:35.000000000 +0200
@@ -80,7 +80,6 @@ be written to.
.SH SEE ALSO
.PP
.BR aspell (1),
-.BR aspell\-import (1),
.BR prezip\-bin (1),
.BR run\-with\-aspell (1)
.PP

11
aspell-0.60.6-zero.patch Normal file
View File

@ -0,0 +1,11 @@
diff -up aspell-0.60.6/common/convert.cpp.zero aspell-0.60.6/common/convert.cpp
--- aspell-0.60.6/common/convert.cpp.zero 2007-12-03 07:55:45.000000000 +0100
+++ aspell-0.60.6/common/convert.cpp 2008-09-01 12:04:39.000000000 +0200
@@ -813,6 +813,7 @@ namespace acommon {
{
ToUniLookup lookup;
void decode(const char * in, int size, FilterCharVector & out) const {
+ if (size == 0) return; // if size == 0 then while loop cause SIGSEGV
const char * stop = in + size; // this is OK even if size == -1
while (*in && in != stop) {
out.append(from_utf8(in, stop));

View File

@ -0,0 +1,96 @@
From 0718b375425aad8e54e1150313b862e4c6fd324a Mon Sep 17 00:00:00 2001
From: Kevin Atkinson <kevina@gnu.org>
Date: Sat, 21 Dec 2019 20:32:47 +0000
Subject: [PATCH] objstack: assert that the alloc size will fit within a chunk
to prevent a buffer overflow
Bug found using OSS-Fuze.
---
common/objstack.hpp | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/common/objstack.hpp b/common/objstack.hpp
index 3997bf7..bd97ccd 100644
--- a/common/objstack.hpp
+++ b/common/objstack.hpp
@@ -5,6 +5,7 @@
#include "parm_string.hpp"
#include <stdlib.h>
#include <assert.h>
+#include <stddef.h>
namespace acommon {
@@ -26,6 +27,12 @@ class ObjStack
byte * temp_end;
void setup_chunk();
void new_chunk();
+ bool will_overflow(size_t sz) const {
+ return offsetof(Node,data) + sz > chunk_size;
+ }
+ void check_size(size_t sz) {
+ assert(!will_overflow(sz));
+ }
ObjStack(const ObjStack &);
void operator=(const ObjStack &);
@@ -56,7 +63,7 @@ class ObjStack
void * alloc_bottom(size_t size) {
byte * tmp = bottom;
bottom += size;
- if (bottom > top) {new_chunk(); tmp = bottom; bottom += size;}
+ if (bottom > top) {check_size(size); new_chunk(); tmp = bottom; bottom += size;}
return tmp;
}
// This alloc_bottom will insure that the object is aligned based on the
@@ -66,7 +73,7 @@ class ObjStack
align_bottom(align);
byte * tmp = bottom;
bottom += size;
- if (bottom > top) {new_chunk(); goto loop;}
+ if (bottom > top) {check_size(size); new_chunk(); goto loop;}
return tmp;
}
char * dup_bottom(ParmString str) {
@@ -79,7 +86,7 @@ class ObjStack
// always be aligned as such.
void * alloc_top(size_t size) {
top -= size;
- if (top < bottom) {new_chunk(); top -= size;}
+ if (top < bottom) {check_size(size); new_chunk(); top -= size;}
return top;
}
// This alloc_top will insure that the object is aligned based on
@@ -88,7 +95,7 @@ class ObjStack
{loop:
top -= size;
align_top(align);
- if (top < bottom) {new_chunk(); goto loop;}
+ if (top < bottom) {check_size(size); new_chunk(); goto loop;}
return top;
}
char * dup_top(ParmString str) {
@@ -117,6 +124,7 @@ class ObjStack
void * alloc_temp(size_t size) {
temp_end = bottom + size;
if (temp_end > top) {
+ check_size(size);
new_chunk();
temp_end = bottom + size;
}
@@ -131,6 +139,7 @@ class ObjStack
} else {
size_t s = temp_end - bottom;
byte * p = bottom;
+ check_size(size);
new_chunk();
memcpy(bottom, p, s);
temp_end = bottom + size;
@@ -150,6 +159,7 @@ class ObjStack
} else {
size_t s = temp_end - bottom;
byte * p = bottom;
+ check_size(size);
new_chunk();
memcpy(bottom, p, s);
temp_end = bottom + size;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
diff -upr aspell-0.60.6.1.orig/prog/aspell.cpp aspell-0.60.6.1/prog/aspell.cpp
--- aspell-0.60.6.1.orig/prog/aspell.cpp 2011-07-04 11:13:58.000000000 +0200
+++ aspell-0.60.6.1/prog/aspell.cpp 2012-07-19 15:16:43.204799622 +0200
@@ -1570,7 +1570,8 @@ void personal () {
Config * config = options;
Dictionary * per = new_default_writable_dict();
- per->load(config->retrieve("personal-path"), *config);
+ PosibErr<void> pe = per->load(config->retrieve("personal-path"), *config);
+ if (pe.has_err()) {print_error(pe.get_err()->mesg); exit(1);}
StackPtr<WordEntryEnumeration> els(per->detailed_elements());
StackPtr<Convert> conv(setup_conv(per->lang(), config));

View File

@ -0,0 +1,38 @@
From c6755a399e8a31cbee5129dde5124f9c54a47ab6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nikola=20Forr=C3=B3?= <nforro@redhat.com>
Date: Wed, 4 Apr 2018 14:58:03 +0200
Subject: [PATCH] Do not call back() on an empty vector
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Calling std::vector::back() on an empty container is undefined.
Avoid doing that, simply return pointer to the beginning in case
the vector is empty.
Signed-off-by: Nikola Forró <nforro@redhat.com>
---
common/vector.hpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/common/vector.hpp b/common/vector.hpp
index 782e4b0..cb344bd 100644
--- a/common/vector.hpp
+++ b/common/vector.hpp
@@ -36,13 +36,13 @@ namespace acommon
}
T * data() {return &*this->begin();}
T * data(int pos) {return &*this->begin() + pos;}
- T * data_end() {return &this->back()+1;}
+ T * data_end() {return this->empty() ? &*this->begin() : &this->back()+1;}
T * pbegin() {return &*this->begin();}
- T * pend() {return &this->back()+1;}
+ T * pend() {return this->empty() ? &*this->begin() : &this->back()+1;}
const T * pbegin() const {return &*this->begin();}
- const T * pend() const {return &this->back()+1;}
+ const T * pend() const {return this->empty() ? &*this->begin() : &this->back()+1;}
template <typename U>
U * datap() {

View File

@ -0,0 +1,34 @@
commit 8089fa02122fed0a6394eba14bbedcb1d18e2384
Author: Kevin Atkinson <kevina@gnu.org>
Date: Thu Dec 29 00:50:31 2016 -0500
Compile Fixes for GCC 7.
Closes #519.
diff --git a/modules/filter/tex.cpp b/modules/filter/tex.cpp
index a979539..19ab63c 100644
--- a/modules/filter/tex.cpp
+++ b/modules/filter/tex.cpp
@@ -174,7 +174,7 @@ namespace {
if (c == '{') {
- if (top.in_what == Parm || top.in_what == Opt || top.do_check == '\0')
+ if (top.in_what == Parm || top.in_what == Opt || *top.do_check == '\0')
push_command(Parm);
top.in_what = Parm;
diff --git a/prog/check_funs.cpp b/prog/check_funs.cpp
index db54f3d..89ee09d 100644
--- a/prog/check_funs.cpp
+++ b/prog/check_funs.cpp
@@ -647,7 +647,7 @@ static void print_truncate(FILE * out, const char * word, int width) {
}
}
if (i == width-1) {
- if (word == '\0')
+ if (*word == '\0')
put(out,' ');
else if (word[len] == '\0')
put(out, word, len);

View File

@ -1,7 +1,7 @@
Summary: Spell checker Summary: Spell checker
Name: aspell Name: aspell
Version: 0.60.8 Version: 0.60.6.1
Release: 8%{?dist} Release: 22%{?dist}
Epoch: 12 Epoch: 12
# LGPLv2+ .. common/gettext.h # LGPLv2+ .. common/gettext.h
# LGPLv2 .. modules/speller/default/phonet.hpp, # LGPLv2 .. modules/speller/default/phonet.hpp,
@ -10,16 +10,31 @@ Epoch: 12
# GPLv2+ .. ltmain.sh, misc/po-filter.c # GPLv2+ .. ltmain.sh, misc/po-filter.c
# BSD .. myspell/munch.c # BSD .. myspell/munch.c
License: LGPLv2+ and LGPLv2 and GPLv2+ and BSD License: LGPLv2+ and LGPLv2 and GPLv2+ and BSD
Group: Applications/Text
URL: http://aspell.net/ URL: http://aspell.net/
Source: ftp://ftp.gnu.org/gnu/aspell/aspell-%{version}.tar.gz Source: ftp://ftp.gnu.org/gnu/aspell/aspell-%{version}.tar.gz
Patch0: aspell-0.60.7-fileconflict.patch Patch0: aspell-0.60.3-install_info.patch
Patch1: aspell-0.60.7-pspell_conf.patch Patch1: aspell-0.60.5-fileconflict.patch
Patch2: aspell-0.60.7-mp.patch Patch2: aspell-0.60.5-pspell_conf.patch
# resolves: #447428
Patch3: aspell-0.60.6-zero.patch
Patch4: aspell-0.60.6-mp.patch
# resolves: #813261
Patch5: aspell-0.60.6.1-dump-personal-abort.patch
# resolves: #925034
Patch6: aspell-0.60.6.1-aarch64.patch
# resolves: #1423239
Patch7: aspell-0.60.6.1-gcc7-fixes.patch
# resolves: #1562364
Patch8: aspell-0.60.6.1-fix-back-on-empty-vector.patch
# resolves: #1988497
Patch9: aspell-0.60.6.1-CVE-2019-25051.patch
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: chrpath, gettext, ncurses-devel, pkgconfig, perl-interpreter BuildRequires: chrpath, gettext, ncurses-devel, pkgconfig, perl-interpreter
BuildRequires: make Requires(pre): /sbin/install-info
Requires(preun): /sbin/install-info
%description %description
GNU Aspell is a spell checker designed to eventually replace Ispell. It can GNU Aspell is a spell checker designed to eventually replace Ispell. It can
@ -33,8 +48,11 @@ than one Aspell process is open at once.
%package devel %package devel
Summary: Libraries and header files for Aspell development Summary: Libraries and header files for Aspell development
Group: Development/Libraries
Requires: %{name} = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: pkgconfig Requires: pkgconfig
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description devel %description devel
The aspell-devel package includes libraries The aspell-devel package includes libraries
@ -42,22 +60,30 @@ and header files needed for Aspell development.
%prep %prep
%setup -q %setup -q
%patch0 -p1 -b .fc %patch0 -p1 -b .iinfo
%patch1 -p1 -b .mlib %patch1 -p1 -b .fc
%patch2 -p1 -b .ai %patch2 -p1 -b .mlib
%patch3 -p1 -b .zero
%patch4 -p1 -b .ai
%patch5 -p1 -b .dump-personal
%patch6 -p1 -b .aarch64
%patch7 -p1 -b .gcc7-fixes
%patch8 -p1 -b .back-empty-vector
%patch9 -p1 -b .CVE-2019-25051
iconv -f iso-8859-2 -t utf-8 < manual/aspell.info > manual/aspell.info.aux iconv -f iso-8859-2 -t utf-8 < manual/aspell.info > manual/aspell.info.aux
mv manual/aspell.info.aux manual/aspell.info mv manual/aspell.info.aux manual/aspell.info
%build %build
%configure --disable-rpath %configure --disable-rpath
sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool
%make_build make %{?_smp_mflags}
cp scripts/aspell-import examples/aspell-import cp scripts/aspell-import examples/aspell-import
chmod 644 examples/aspell-import chmod 644 examples/aspell-import
cp manual/aspell-import.1 examples/aspell-import.1 cp manual/aspell-import.1 examples/aspell-import.1
%install %install
%make_install # make install DESTDIR=$RPM_BUILD_ROOT doesn't work
%makeinstall
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60 mkdir -p ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60
@ -70,7 +96,6 @@ chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60//context-filter.so
chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60//email-filter.so chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60//email-filter.so
chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60//tex-filter.so chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60//tex-filter.so
chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60//texinfo-filter.so chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60//texinfo-filter.so
chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60//markdown-filter.so
chrpath --delete ${RPM_BUILD_ROOT}%{_bindir}/aspell chrpath --delete ${RPM_BUILD_ROOT}%{_bindir}/aspell
chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/libpspell.so.* chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/libpspell.so.*
@ -79,10 +104,36 @@ rm -f ${RPM_BUILD_ROOT}%{_libdir}/libpspell.la
rm -f ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60/*-filter.la rm -f ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60/*-filter.la
rm -f ${RPM_BUILD_ROOT}%{_bindir}/aspell-import rm -f ${RPM_BUILD_ROOT}%{_bindir}/aspell-import
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/aspell-import.1 rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/aspell-import.1
rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir
%find_lang %{name} %find_lang %{name}
%post
/sbin/ldconfig
if [ -f %{_infodir}/aspell.info.gz ]; then
/sbin/install-info %{_infodir}/aspell.info.gz %{_infodir}/dir --entry="* Aspell: (aspell). " || :
fi
%post devel
if [ -f %{_infodir}/aspell-dev.info.gz ]; then
/sbin/install-info %{_infodir}/aspell-dev.info.gz %{_infodir}/dir --entry="* Aspell-dev: (aspell-dev). " || :
fi
%preun
if [ $1 = 0 ]; then
if [ -f %{_infodir}/aspell.info.gz ]; then
/sbin/install-info --delete %{_infodir}/aspell.info.gz %{_infodir}/dir || :
fi
fi
%preun devel
if [ $1 = 0 ]; then
if [ -f %{_infodir}/aspell-dev.info.gz ]; then
/sbin/install-info --delete %{_infodir}/aspell-dev.info.gz %{_infodir}/dir || :
fi
fi
%postun -p /sbin/ldconfig
%files -f %{name}.lang %files -f %{name}.lang
%doc README TODO COPYING examples/aspell-import examples/aspell-import.1 %doc README TODO COPYING examples/aspell-import examples/aspell-import.1
%dir %{_libdir}/aspell-0.60 %dir %{_libdir}/aspell-0.60
@ -111,51 +162,9 @@ rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir
%{_mandir}/man1/pspell-config.1* %{_mandir}/man1/pspell-config.1*
%changelog %changelog
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 12:0.60.8-8 * Mon Oct 11 2021 Nikola Forró <nforro@redhat.com> - 12:0.60.6.1-22
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags - resolves: #1988497
Related: rhbz#1991688 fix CVE-2019-25051
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 12:0.60.8-7
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 12:0.60.8-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 12:0.60.8-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 14 2020 Tom Stellard <tstellar@redhat.com> - 12:0.60.8-4
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 12:0.60.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Oct 22 2019 Nikola Forró <nforro@redhat.com> - 12:0.60.8-2
- remove RPATH from markdown-filter.so
* Fri Oct 18 2019 Nikola Forró <nforro@redhat.com> - 12:0.60.8-1
- resolves: #1761152
update to 0.60.8
* Mon Aug 19 2019 Nikola Forró <nforro@redhat.com> - 12:0.60.7-1
- resolves: #1742373
update to 0.60.7
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 12:0.60.6.1-26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 12:0.60.6.1-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 12:0.60.6.1-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Jun 28 2018 Nikola Forró <nforro@redhat.com> - 12:0.60.6.1-23
- remove ldconfig from scriptlets
* Tue Jun 19 2018 Nikola Forró <nforro@redhat.com> - 12:0.60.6.1-22
- remove install-info from scriptlets
* Wed Apr 04 2018 Nikola Forró <nforro@redhat.com> - 12:0.60.6.1-21 * Wed Apr 04 2018 Nikola Forró <nforro@redhat.com> - 12:0.60.6.1-21
- resolves: #1562364 - resolves: #1562364

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-8
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (aspell-0.60.6.1.tar.gz) = f310c7590be98406589b5c26ca36a2ecfe4733f0b40fd6c176b96b7955ef2b5cd0ec9a3d770cf132146ae7a896042b4b698945112995ee1ae66adcfa5542247f

30
tests/sanity Executable file
View File

@ -0,0 +1,30 @@
#!/bin/bash
. /usr/share/beakerlib/beakerlib.sh
TEST="/AppStream/aspell/Sanity/aspell"
PACKAGES=${PACKAGES:-"aspell"}
REQUIRES=${REQUIRES:-"aspell-en"}
rlJournalStart
rlPhaseStartSetup
rlAssertRpm --all
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartTest
rlRun "aspell --lang=en --dict-dir=$TmpDir create master test.rws <<< word" 0 "Creating word list"
rlRun "echo word | aspell --lang=en --dict-dir=$TmpDir --master=test.rws pipe > out" 0 "Checking known word"
rlAssertGrep "^*" "out"
rlRun "echo nothing | aspell --lang=en --dict-dir=$TmpDir --master=test.rws pipe > out" 0 "Checking unknown word"
rlAssertGrep "^#" "out"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

12
tests/tests.yml Normal file
View File

@ -0,0 +1,12 @@
- hosts: localhost
roles:
- role: standard-test-beakerlib
tags:
- atomic
- classic
- container
tests:
- sanity
required_packages:
- aspell
- aspell-en