summaryrefslogtreecommitdiff
path: root/libcr
diff options
context:
space:
mode:
authorLuke T. Shumaker <lukeshu@lukeshu.com>2025-04-22 18:51:59 -0600
committerLuke T. Shumaker <lukeshu@lukeshu.com>2025-05-06 11:53:17 -0600
commit24e5d0ec1219e2dbb4b9510ef20833092a2b3871 (patch)
tree01bbcc34c6190fa1c35b2625e9ba1744b1447606 /libcr
parentf09b7435b3a5222597d27238226d23ec0cbd5bd2 (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.c2
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;