Compare commits

...

3 Commits

Author SHA1 Message Date
liang.he
6450d87299
bump version to 2.4.2 (#4626) 2025-09-15 17:11:18 +08:00
liang.he
87fb38256b
Add release notes for WAMR-2.4.2 (#4624) 2025-09-15 15:35:58 +08:00
Liu Jia
9530e4a310
Merge commit from fork 2025-09-15 15:19:51 +08:00
4 changed files with 30 additions and 4 deletions

View File

@ -1,3 +1,19 @@
## WAMR-2.4.2
### Breaking Changes
### New Features
### Bug Fixes
- CVE-2025-58749. Fix a potential hang issue in LLVMJIT mode
### Enhancements
### Others
---
## WAMR-2.4.1 ## WAMR-2.4.1
### Breaking Changes ### Breaking Changes

View File

@ -8,7 +8,7 @@ endif()
set(WAMR_VERSION_MAJOR 2) set(WAMR_VERSION_MAJOR 2)
set(WAMR_VERSION_MINOR 4) set(WAMR_VERSION_MINOR 4)
set(WAMR_VERSION_PATCH 1) set(WAMR_VERSION_PATCH 2)
message("-- WAMR version: ${WAMR_VERSION_MAJOR}.${WAMR_VERSION_MINOR}.${WAMR_VERSION_PATCH}") message("-- WAMR version: ${WAMR_VERSION_MAJOR}.${WAMR_VERSION_MINOR}.${WAMR_VERSION_PATCH}")

View File

@ -1486,7 +1486,7 @@ LLVMValueRef
check_bulk_memory_overflow(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx, check_bulk_memory_overflow(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
LLVMValueRef offset, LLVMValueRef bytes) LLVMValueRef offset, LLVMValueRef bytes)
{ {
LLVMValueRef maddr, max_addr, cmp, cmp1; LLVMValueRef maddr, max_addr, cmp, cmp1, offset1;
LLVMValueRef mem_base_addr; LLVMValueRef mem_base_addr;
LLVMBasicBlockRef block_curr = LLVMGetInsertBlock(comp_ctx->builder); LLVMBasicBlockRef block_curr = LLVMGetInsertBlock(comp_ctx->builder);
LLVMBasicBlockRef check_succ; LLVMBasicBlockRef check_succ;
@ -1539,8 +1539,18 @@ check_bulk_memory_overflow(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
if (mem_data_size > 0 && mem_offset + mem_len <= mem_data_size) { if (mem_data_size > 0 && mem_offset + mem_len <= mem_data_size) {
/* inside memory space */ /* inside memory space */
/* maddr = mem_base_addr + moffset */ /* maddr = mem_base_addr + moffset */
/* Perform zero extension in advance to avoid LLVMBuildInBoundsGEP2
* interpreting a negative address due to sign extension when
* mem_offset >= 2GiB */
if (comp_ctx->pointer_size == sizeof(uint64)) {
offset1 = I64_CONST(mem_offset);
}
else {
offset1 = I32_CONST((uint32)mem_offset);
}
CHECK_LLVM_CONST(offset1);
if (!(maddr = LLVMBuildInBoundsGEP2(comp_ctx->builder, INT8_TYPE, if (!(maddr = LLVMBuildInBoundsGEP2(comp_ctx->builder, INT8_TYPE,
mem_base_addr, &offset, 1, mem_base_addr, &offset1, 1,
"maddr"))) { "maddr"))) {
aot_set_last_error("llvm build add failed."); aot_set_last_error("llvm build add failed.");
goto fail; goto fail;

View File

@ -18,7 +18,7 @@
/* clang-format off */ /* clang-format off */
#define WAMR_VERSION_MAJOR 2 #define WAMR_VERSION_MAJOR 2
#define WAMR_VERSION_MINOR 4 #define WAMR_VERSION_MINOR 4
#define WAMR_VERSION_PATCH 1 #define WAMR_VERSION_PATCH 2
/* clang-format on */ /* clang-format on */
#endif #endif