mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-11-28 02:20:50 +00:00
Ensure --addr-pool mask accepts numbers only
This commit is contained in:
parent
b71a6bf58f
commit
4e99b35fe5
|
|
@ -3812,7 +3812,8 @@ wasm_runtime_init_wasi(WASMModuleInstanceCommon *module_inst,
|
||||||
|
|
||||||
/* addr_pool(textual) -> apool */
|
/* addr_pool(textual) -> apool */
|
||||||
for (i = 0; i < addr_pool_size; i++) {
|
for (i = 0; i < addr_pool_size; i++) {
|
||||||
char *cp, *address, *mask;
|
char *cp, *address, *mask, *endptr;
|
||||||
|
long mask_val;
|
||||||
bool ret = false;
|
bool ret = false;
|
||||||
|
|
||||||
cp = bh_strdup(addr_pool[i]);
|
cp = bh_strdup(addr_pool[i]);
|
||||||
|
|
@ -3833,7 +3834,15 @@ wasm_runtime_init_wasi(WASMModuleInstanceCommon *module_inst,
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = addr_pool_insert(apool, address, (uint8)atoi(mask));
|
mask_val = strtol(mask, &endptr, 10);
|
||||||
|
|
||||||
|
if (*endptr != '\0') {
|
||||||
|
snprintf(error_buf, error_buf_size,
|
||||||
|
"Invalid address pool entry: mask must be a number");
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = addr_pool_insert(apool, address, (uint8)mask_val);
|
||||||
wasm_runtime_free(cp);
|
wasm_runtime_free(cp);
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
set_error_buf(error_buf, error_buf_size,
|
set_error_buf(error_buf, error_buf_size,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user