<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/e70dd85efa58608d53ab9d47135ab5ce75211b90">https://github.com/macports/macports-ports/commit/e70dd85efa58608d53ab9d47135ab5ce75211b90</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new e70dd85efa5 webp: Fix CVE-2023-1999
</span>e70dd85efa5 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit e70dd85efa58608d53ab9d47135ab5ce75211b90
</span>Author: Clemens Lang <cal@macports.org>
AuthorDate: Mon May 8 11:28:41 2023 +0200

<span style='display:block; white-space:pre;color:#404040;'>    webp: Fix CVE-2023-1999
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    CVE: CVE-2023-1999
</span>---
 graphics/webp/Portfile                             |  5 +-
 ...odeAlphaInternal-clear-result-bw-on-error.patch | 56 ++++++++++++++++++++++
 2 files changed, 59 insertions(+), 2 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/webp/Portfile b/graphics/webp/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 482d6694f6b..15ef124f178 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/webp/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/webp/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,7 +4,7 @@ PortSystem              1.0
</span> 
 name                    webp
 version                 1.3.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                1
</span> checksums               rmd160  37463738e53ded9b3e11a137d0444e0f9886fd1f \
                         sha256  64ac4614db292ae8c5aa26de0295bf1623dbb3985054cb656c55e67431def17c \
                         size    4148444
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,7 +38,8 @@ depends_lib             port:giflib \
</span> 
 distname                libwebp-${version}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles              configure.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles              configure.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        0001-EncodeAlphaInternal-clear-result-bw-on-error.patch
</span> 
 configure.args-append   --disable-silent-rules \
                         --disable-wic \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/webp/files/0001-EncodeAlphaInternal-clear-result-bw-on-error.patch b/graphics/webp/files/0001-EncodeAlphaInternal-clear-result-bw-on-error.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..2fbeb5be2c7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/webp/files/0001-EncodeAlphaInternal-clear-result-bw-on-error.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,56 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From a486d800b60d0af4cc0836bf7ed8f21e12974129 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: James Zern <jzern@google.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 22 Feb 2023 22:15:47 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] EncodeAlphaInternal: clear result->bw on error
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This avoids a double free should the function fail prior to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+VP8BitWriterInit() and a previous trial result's buffer carried over.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Previously in ApplyFiltersAndEncode() trial.bw (with a previous
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+iteration's buffer) would be freed, followed by best.bw pointing to the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+same buffer.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Since:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+187d379d add a fallback to ALPHA_NO_COMPRESSION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+In addition, check the return value of VP8BitWriterInit() in this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+function.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Bug: webp:603
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Change-Id: Ic258381ee26c8c16bc211d157c8153831c8c6910
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Upstream-Status: Backport [https://github.com/webmproject/libwebp/commit/a486d800b60d0af4cc0836bf7ed8f21e12974129]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/enc/alpha_enc.c | 4 +++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 3 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/src/enc/alpha_enc.c b/src/enc/alpha_enc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f7c02690..7d205586 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./src/enc/alpha_enc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./src/enc/alpha_enc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13,6 +13,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <assert.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <string.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "src/enc/vp8i_enc.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "src/dsp/dsp.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -148,6 +149,7 @@ static int EncodeAlphaInternal(const uint8_t* const data, int width, int height,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       VP8LBitWriterWipeOut(&tmp_bw);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      memset(&result->bw, 0, sizeof(result->bw));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -162,7 +164,7 @@ static int EncodeAlphaInternal(const uint8_t* const data, int width, int height,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   header = method | (filter << 2);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (reduce_levels) header |= ALPHA_PREPROCESSED_LEVELS << 4;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  VP8BitWriterInit(&result->bw, ALPHA_HEADER_LEN + output_size);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (!VP8BitWriterInit(&result->bw, ALPHA_HEADER_LEN + output_size)) ok = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ok = ok && VP8BitWriterAppend(&result->bw, &header, ALPHA_HEADER_LEN);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ok = ok && VP8BitWriterAppend(&result->bw, output, output_size);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>

</pre>