Skip to content

Commit 4e99b35

Browse files
committed
Ensure --addr-pool mask accepts numbers only
1 parent b71a6bf commit 4e99b35

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

core/iwasm/common/wasm_runtime_common.c

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3812,7 +3812,8 @@ wasm_runtime_init_wasi(WASMModuleInstanceCommon *module_inst,
38123812

38133813
/* addr_pool(textual) -> apool */
38143814
for (i = 0; i < addr_pool_size; i++) {
3815-
char *cp, *address, *mask;
3815+
char *cp, *address, *mask, *endptr;
3816+
long mask_val;
38163817
bool ret = false;
38173818

38183819
cp = bh_strdup(addr_pool[i]);
@@ -3833,7 +3834,15 @@ wasm_runtime_init_wasi(WASMModuleInstanceCommon *module_inst,
38333834
goto fail;
38343835
}
38353836

3836-
ret = addr_pool_insert(apool, address, (uint8)atoi(mask));
3837+
mask_val = strtol(mask, &endptr, 10);
3838+
3839+
if (*endptr != '\0') {
3840+
snprintf(error_buf, error_buf_size,
3841+
"Invalid address pool entry: mask must be a number");
3842+
goto fail;
3843+
}
3844+
3845+
ret = addr_pool_insert(apool, address, (uint8)mask_val);
38373846
wasm_runtime_free(cp);
38383847
if (!ret) {
38393848
set_error_buf(error_buf, error_buf_size,

0 commit comments

Comments
 (0)