git: d2378ab547da - main - audio/vorbis-tools: Add patch for CVE-2023-43361
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 05 Nov 2023 20:59:28 UTC
The branch main has been updated by diizzy: URL: https://cgit.FreeBSD.org/ports/commit/?id=d2378ab547da27903d0201a0fef3d272f334d0ac commit d2378ab547da27903d0201a0fef3d272f334d0ac Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2023-11-05 20:39:54 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2023-11-05 20:40:51 +0000 audio/vorbis-tools: Add patch for CVE-2023-43361 Reference: https://www.cve.org/CVERecord?id=CVE-2023-43361 Source: https://gitlab.xiph.org/xiph/vorbis-tools/-/merge_requests/7#note_55477 PR: 274900 Reviewed by: naddy (maintainer) --- audio/vorbis-tools/Makefile | 4 ++-- audio/vorbis-tools/files/patch-CVE-2023-43361 | 30 +++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/audio/vorbis-tools/Makefile b/audio/vorbis-tools/Makefile index c5edc2790cf1..481cb71d95bb 100644 --- a/audio/vorbis-tools/Makefile +++ b/audio/vorbis-tools/Makefile @@ -1,6 +1,6 @@ PORTNAME= vorbis-tools -PORTVERSION= 1.4.2 -PORTREVISION= 3 +DISTVERSION= 1.4.2 +PORTREVISION= 4 PORTEPOCH= 3 CATEGORIES= audio MASTER_SITES= https://downloads.xiph.org/releases/vorbis/ diff --git a/audio/vorbis-tools/files/patch-CVE-2023-43361 b/audio/vorbis-tools/files/patch-CVE-2023-43361 new file mode 100644 index 000000000000..bd6fe963410b --- /dev/null +++ b/audio/vorbis-tools/files/patch-CVE-2023-43361 @@ -0,0 +1,30 @@ +diff --git a/oggenc/platform.c b/oggenc/platform.c +index 6d9f4ef..b66e47a 100644 +--- oggenc/platform.c ++++ oggenc/platform.c +@@ -136,18 +136,22 @@ int create_directories(char *fn, int isutf8) + { + char *end, *start; + struct stat statbuf; +- char *segment = malloc(strlen(fn)+1); ++ const size_t fn_len = strlen(fn); ++ char *segment = malloc(fn_len+1); + #ifdef _WIN32 + wchar_t seg[MAX_PATH+1]; + #endif + + start = fn; + #ifdef _WIN32 +- if(strlen(fn) >= 3 && isalpha(fn[0]) && fn[1]==':') ++ // Strip drive prefix ++ if(fn_len >= 3 && isalpha(fn[0]) && fn[1]==':') { ++ + start = start+2; + #endif + +- while((end = strpbrk(start+1, PATH_SEPS)) != NULL) ++ // Loop through path segments, creating directories if necessary ++ while((end = strpbrk(start + strspn(start, PATH_SEPS), PATH_SEPS)) != NULL) + { + int rv; + memcpy(segment, fn, end-fn);