Fix data type issues in rcore.c

This commit is contained in:
Manuel 2025-10-13 23:34:19 +02:00 committed by GitHub
parent 6d61ddeeec
commit 5d6f50b2a3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -3105,22 +3105,22 @@ unsigned int *ComputeSHA256(unsigned char *data, int dataSize) {
0x748f82eeu, 0x78a5636fu, 0x84c87814u, 0x8cc70208u, 0x90befffau, 0xa4506cebu, 0xbef9a3f7u, 0xc67178f2u 0x748f82eeu, 0x78a5636fu, 0x84c87814u, 0x8cc70208u, 0x90befffau, 0xa4506cebu, 0xbef9a3f7u, 0xc67178f2u
}; };
uint64_t bit_len = (uint64_t)dataSize * 8ULL; unsigned long long bit_len = (unsigned long long)dataSize * 8U;
int pad_len = (int)((56 - ((dataSize + 1) % 64) + 64) % 64); long long pad_len = ((56LL - (((long long)dataSize + 1) % 64) + 64) % 64);
size_t total_len = (size_t)dataSize + 1 + pad_len + 8; unsigned int total_len = (unsigned long long)dataSize + 1 + pad_len + 8;
unsigned char *buf = (unsigned char *)RL_CALLOC(total_len, 1); unsigned char *buf = (unsigned char *)RL_CALLOC(total_len, 1);
if (!buf){ if (!buf){
return NULL; return NULL;
} }
memcpy(buf, data, (size_t)dataSize); memcpy(buf, data, (unsigned long long)dataSize);
buf[dataSize] = 0x80u; buf[dataSize] = 0x80u;
for (int i = 0; i < 8; ++i){ for (int i = 0; i < 8; ++i){
buf[dataSize + 1 + pad_len + i] = (unsigned char)((bit_len >> (56 - 8 * i)) & 0xFFu); buf[(dataSize + 1LL) + pad_len + i] = (unsigned char)((bit_len >> (56 - 8 * i)) & 0xFFu);
} }
size_t num_blocks = total_len / 64; unsigned long long num_blocks = total_len / 64;
for (size_t blk = 0; blk < num_blocks; ++blk) { for (unsigned long long blk = 0; blk < num_blocks; ++blk) {
const unsigned char *chunk = buf + blk * 64; const unsigned char *chunk = buf + blk * 64;
unsigned int w[64]; unsigned int w[64];
for (int t = 0; t < 16; ++t){ for (int t = 0; t < 16; ++t){