<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/1d4c18427474fd4a77755b63427eac192da75d86">https://github.com/macports/macports-ports/commit/1d4c18427474fd4a77755b63427eac192da75d86</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 1d4c18427474fd4a77755b63427eac192da75d86
</span>Author: Renee Otten <reneeotten@macports.org>
AuthorDate: Sat Jan 13 14:19:26 2024 -0500

<span style='display:block; white-space:pre;color:#404040;'>    aspell: update to 0.60.8.1
</span>---
 textproc/aspell/Portfile                   | 21 +++----
 textproc/aspell/files/CVE-2019-25051.patch | 96 ------------------------------
 2 files changed, 7 insertions(+), 110 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/textproc/aspell/Portfile b/textproc/aspell/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 1a589f125ca..bcd84ba0fca 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/textproc/aspell/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/textproc/aspell/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,11 +3,11 @@
</span> PortSystem              1.0
 
 name                    aspell
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version                 0.60.8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums               rmd160  331a10149aa4efe9b6798137d6a56a0a44fcf570 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  f9b77e515334a751b2e60daab5db23499e26c9209f5e7b7443b05235ad0226f2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        size    3486448
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version                 0.60.8.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums               rmd160  8bd3e99a91d94a0fd720d341ed22ccbce7af11de \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  d6da12b34d42d457fa604e435ad484a74b2effcd120ff40acd6bb3fb2887d21b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    3567205
</span> 
 set branch              [join [lrange [split ${version} .] 0 1] .]
 categories              textproc
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -15,9 +15,7 @@ maintainers             openmaintainer {jochen @jokuha}
</span> conflicts               ispell
 description             Spell checker with better logic than ispell
 homepage                http://aspell.net/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms               darwin
</span> license                 LGPL-2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-use_parallel_build      yes
</span> 
 long_description        Aspell is a spell checker designed to eventually replace ispell. \
                         Aspell's main feature is that it  does a much better job of coming up with \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -26,16 +24,12 @@ long_description        Aspell is a spell checker designed to eventually replace
</span> master_sites            gnu freebsd
 
 depends_lib             port:gettext port:texinfo port:ncurses
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# texinfo is also used in post-activate
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patch.pre_args          -p1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append       CVE-2019-25051.patch
</span> 
 # Teach glibtool to pass -stdlib at link time.
 use_autoreconf          yes
 autoreconf.args         -fvi
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args          --enable-dict-dir="${prefix}/share/aspell" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append   --enable-dict-dir="${prefix}/share/aspell" \
</span>                         --disable-nls \
                         --enable-compile-in-filters
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -53,8 +47,7 @@ post-activate {
</span> }
 
 variant nls {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-delete --disable-nls
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append --enable-nls
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace --disable-nls --enable-nls
</span> }
 
 if {${os.platform} eq "darwin" && ${os.subplatform} eq "macosx"} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/textproc/aspell/files/CVE-2019-25051.patch b/textproc/aspell/files/CVE-2019-25051.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 2f15d380ec0..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/textproc/aspell/files/CVE-2019-25051.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,96 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 0718b375425aad8e54e1150313b862e4c6fd324a Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Kevin Atkinson <kevina@gnu.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 21 Dec 2019 20:32:47 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH] objstack: assert that the alloc size will fit within a chunk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- to prevent a buffer overflow
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Bug found using OSS-Fuze.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- common/objstack.hpp | 18 ++++++++++++++----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 14 insertions(+), 4 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/common/objstack.hpp b/common/objstack.hpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3997bf7..bd97ccd 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/common/objstack.hpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/common/objstack.hpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5,6 +5,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "parm_string.hpp"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <assert.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <stddef.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- namespace acommon {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -26,6 +27,12 @@ class ObjStack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   byte * temp_end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   void setup_chunk();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   void new_chunk();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  bool will_overflow(size_t sz) const {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    return offsetof(Node,data) + sz > chunk_size;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  void check_size(size_t sz) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    assert(!will_overflow(sz));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ObjStack(const ObjStack &);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   void operator=(const ObjStack &);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -56,7 +63,7 @@ class ObjStack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   void * alloc_bottom(size_t size)  {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     byte * tmp = bottom;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     bottom += size;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (bottom > top) {new_chunk(); tmp = bottom; bottom += size;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (bottom > top) {check_size(size); new_chunk(); tmp = bottom; bottom += size;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return tmp;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   // This alloc_bottom will insure that the object is aligned based on the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -66,7 +73,7 @@ class ObjStack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     align_bottom(align);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     byte * tmp = bottom;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     bottom += size;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (bottom > top) {new_chunk(); goto loop;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (bottom > top) {check_size(size); new_chunk(); goto loop;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return tmp;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   char * dup_bottom(ParmString str) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -79,7 +86,7 @@ class ObjStack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   // always be aligned as such.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   void * alloc_top(size_t size) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     top -= size;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (top < bottom) {new_chunk(); top -= size;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (top < bottom) {check_size(size); new_chunk(); top -= size;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return top;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   // This alloc_top will insure that the object is aligned based on
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -88,7 +95,7 @@ class ObjStack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   {loop:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     top -= size;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     align_top(align);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (top < bottom) {new_chunk(); goto loop;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (top < bottom) {check_size(size); new_chunk(); goto loop;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return top;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   char * dup_top(ParmString str) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -117,6 +124,7 @@ class ObjStack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   void * alloc_temp(size_t size) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     temp_end = bottom + size;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (temp_end > top) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      check_size(size);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       new_chunk();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       temp_end = bottom + size;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -131,6 +139,7 @@ class ObjStack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       size_t s = temp_end - bottom;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       byte * p = bottom;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      check_size(size);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       new_chunk();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       memcpy(bottom, p, s);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       temp_end = bottom + size;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -150,6 +159,7 @@ class ObjStack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       size_t s = temp_end - bottom;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       byte * p = bottom;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      check_size(size);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       new_chunk();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       memcpy(bottom, p, s);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       temp_end = bottom + size;
</span></pre><pre style='margin:0'>

</pre>