Not sure if this check is actually necessary, though:
the second should be sufficient.
Michael
ret = false;
goto cleanup;
}
- if (blob->data + ptr < (uint8_t *)ptr ||
+ if (blob->data + ptr < (uint8_t *)(uintptr_t)ptr ||
blob->data + ptr < blob->data) {
ret = false;
goto cleanup;
goto cleanup;
}
- if (blob->data + ptr < (uint8_t *)ptr ||
+ if (blob->data + ptr < (uint8_t *)(uintptr_t)ptr ||
blob->data + ptr < blob->data) {
ret = false;
goto cleanup;
goto cleanup;
}
- if (blob->data + ptr < (uint8_t *)ptr ||
+ if (blob->data + ptr < (uint8_t *)(uintptr_t)ptr ||
blob->data + ptr < blob->data) {
ret = false;
goto cleanup;