diff options
author | Luke T. Shumaker <lukeshu@lukeshu.com> | 2025-04-22 18:51:59 -0600 |
---|---|---|
committer | Luke T. Shumaker <lukeshu@lukeshu.com> | 2025-05-06 11:53:17 -0600 |
commit | 24e5d0ec1219e2dbb4b9510ef20833092a2b3871 (patch) | |
tree | 01bbcc34c6190fa1c35b2625e9ba1744b1447606 /libcr | |
parent | f09b7435b3a5222597d27238226d23ec0cbd5bd2 (diff) |
wip: Build with -Wconversionlukeshu/safe-conversion
I think this found a real bug in the dhcp packet parser.
I don't think anything called lib9p_str{,n}() values that could be big
enough, but their bounds-checking was broken.
Diffstat (limited to 'libcr')
-rw-r--r-- | libcr/coroutine.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libcr/coroutine.c b/libcr/coroutine.c index cf63122..7915dcb 100644 --- a/libcr/coroutine.c +++ b/libcr/coroutine.c @@ -805,7 +805,7 @@ void cr_cid_info(cid_t cid, struct cr_cid_info *ret) { uint8_t *stack_hi = stack + coroutine_table[cid-1].stack_size - CR_STACK_GUARD_SIZE; /* stack_cap */ - ret->stack_cap = stack_hi - stack_lo; + ret->stack_cap = (uintptr_t)stack_hi - (uintptr_t)stack_lo; /* stack_max */ ret->stack_max = ret->stack_cap; |