diff --git a/vis/vis.c b/vis/vis.c index 4cd64b9c..505ea918 100644 --- a/vis/vis.c +++ b/vis/vis.c @@ -2,6 +2,7 @@ #include #include +#include #include #include @@ -213,12 +214,12 @@ AllocStackWinding(pstack_t *stack) void FreeStackWinding(winding_t *w, pstack_t *stack) { - unsigned long i = w - stack->windings; + uintptr_t index = w - stack->windings; - if (i < STACK_WINDINGS) { - if (stack->freewindings[i]) + if (index < (uintptr_t)STACK_WINDINGS) { + if (stack->freewindings[index]) Error("%s: winding already freed", __func__); - stack->freewindings[i] = 1; + stack->freewindings[index] = 1; } }