yasm: update to latest git revision

Last tag is from 2014, but bugfixing continued and last commit is from
year 2024. Additional 87 commits are present, mostly bugfixes.

PV already has "+git" although it was exactly on tag, no edit needed.

Drop 3 patches which are included in current git version.
Add CVE_STATUS for 2 CVEs from those patches.

Also mark one additional CVE as fixed: CVE-2021-33454.
Stack trace from https://github.com/yasm/yasm/issues/166
References the same line of code as corrected in
https://github.com/yasm/yasm/pull/244

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Peter Marko 2025-01-19 15:02:54 +01:00 committed by Khem Raj
parent f05ac0cbf8
commit bba186bdcb
No known key found for this signature in database
GPG Key ID: BB053355919D3314
4 changed files with 5 additions and 114 deletions

View File

@ -1,39 +0,0 @@
From 6b1cbe8b4dcc45103d69bc7337e5eb33d1fd21f3 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 3 Feb 2021 14:22:51 -0800
Subject: [PATCH] Do not use AC_HEADER_STDC
This macro is removed in autotools 2.70+ and it can be expected that C90
headers are always available [1]
Upstream-Status: Pending
[1] https://www.gnu.org/software/autoconf/manual/autoconf-2.70/autoconf.html#index-AC_005fHEADER_005fSTDC
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
configure.ac | 6 ------
1 file changed, 6 deletions(-)
diff --git a/configure.ac b/configure.ac
index 01b61097..2823ecd7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -101,14 +101,8 @@ AM_WITH_DMALLOC
#
# Checks for header files.
#
-AC_HEADER_STDC
AC_CHECK_HEADERS([strings.h libgen.h unistd.h direct.h sys/stat.h])
-# REQUIRE standard C headers
-if test "$ac_cv_header_stdc" != yes; then
- AC_MSG_ERROR([Standard (ANSI/ISO C89) header files are required.])
-fi
-
#
# Checks for typedefs, structures, and compiler characteristics.
#
--
2.30.0

View File

@ -1,29 +0,0 @@
From b2cc5a1693b17ac415df76d0795b15994c106441 Mon Sep 17 00:00:00 2001
From: Katsuhiko Gondow <gondow@cs.titech.ac.jp>
Date: Tue, 13 Jun 2023 05:00:47 +0900
Subject: [PATCH] Fix memory leak in bin-objfmt (#231)
Upstream-Status: Backport [https://github.com/yasm/yasm/commit/b2cc5a1693b17ac415df76d0795b15994c106441]
CVE: CVE-2023-31975
---
modules/objfmts/bin/bin-objfmt.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/modules/objfmts/bin/bin-objfmt.c b/modules/objfmts/bin/bin-objfmt.c
index 18026750..a38c3422 100644
--- a/modules/objfmts/bin/bin-objfmt.c
+++ b/modules/objfmts/bin/bin-objfmt.c
@@ -1680,6 +1680,10 @@ static void
bin_section_data_destroy(void *data)
{
bin_section_data *bsd = (bin_section_data *)data;
+ if (bsd->align)
+ yasm_xfree(bsd->align);
+ if (bsd->valign)
+ yasm_xfree(bsd->valign);
if (bsd->start)
yasm_expr_destroy(bsd->start);
if (bsd->vstart)
--
2.40.0

View File

@ -1,41 +0,0 @@
From 2cd3bb50e256f5ed5f611ac611d25fe673f2cec3 Mon Sep 17 00:00:00 2001
From: Peter Johnson <johnson.peter@gmail.com>
Date: Fri, 11 Aug 2023 10:49:51 +0000
Subject: [PATCH] elf.c: Fix NULL deref on bad xsize expression (#234)
CVE: CVE-2023-37732
Upstream-Status: Backport [https://github.com/yasm/yasm/commit/2cd3bb50e256f5ed5f611ac611d25fe673f2cec3]
Signed-off-by: Soumya <soumya.sambu@windriver.com>
---
modules/objfmts/elf/elf.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/modules/objfmts/elf/elf.c b/modules/objfmts/elf/elf.c
index 2486bba8..bab4c9ca 100644
--- a/modules/objfmts/elf/elf.c
+++ b/modules/objfmts/elf/elf.c
@@ -482,15 +482,15 @@ elf_symtab_write_to_file(FILE *f, elf_symtab_head *symtab,
/* get size (if specified); expr overrides stored integer */
if (entry->xsize) {
- size_intn = yasm_intnum_copy(
- yasm_expr_get_intnum(&entry->xsize, 1));
- if (!size_intn) {
+ yasm_intnum *intn = yasm_expr_get_intnum(&entry->xsize, 1);
+ if (!intn) {
yasm_error_set(YASM_ERROR_VALUE,
N_("size specifier not an integer expression"));
yasm_errwarn_propagate(errwarns, entry->xsize->line);
- }
+ } else
+ size_intn = yasm_intnum_copy(intn);
}
- else
+ if (!size_intn)
size_intn = yasm_intnum_create_uint(entry->size);
/* get EQU value for constants */
--
2.40.0

View File

@ -8,12 +8,9 @@ DEPENDS += "flex-native bison-native"
PACKAGECONFIG[docs] = ",,xmlto-native,"
PV = "1.3.0+git"
# v1.3.0
SRCREV = "ba463d3c26c0ece2e797b8d6381b161633b5971a"
# v1.3.0-87
SRCREV = "121ab150b3577b666c79a79f4a511798d7ad2432"
SRC_URI = "git://github.com/yasm/yasm.git;branch=master;protocol=https \
file://0001-Do-not-use-AC_HEADER_STDC.patch \
file://CVE-2023-31975.patch \
file://CVE-2023-37732.patch \
file://0001-yasm-Set-build-date-to-SOURCE_DATE_EPOCH.patch \
file://0002-yasm-Use-BUILD_DATE-for-reproducibility.patch \
"
@ -33,3 +30,6 @@ do_configure:prepend() {
sed -i -e "s/^echo \"\/\* generated \$ac_cv_stdint_message \*\/\" >>\$ac_stdint$"// ${S}/m4/ax_create_stdint_h.m4
}
CVE_STATUS_GROUPS += "CVE_STATUS_HASH_UPDATE"
CVE_STATUS_HASH_UPDATE = "CVE-2021-33454 CVE-2023-31975 CVE-2023-37732"
CVE_STATUS_HASH_UPDATE[status] = "fixed-version: patched in current git hash"