I'm getting this warning from GCC and don't really understand the problem. The code works as intended, but I'd like to get rid of the warning (without suppressing it).
The code XORs a buffer against a MD5 hash. The warning refers to the red line:
Code:
/* requires buffersizes multiples of 4 and MD5_LEN to be 16 */
void Xorize4(int *piFromTo, const int *piHash, int iLen) {
//int MD5DIVI= MD5_LEN / sizeof(int);
int *piHashEnd;
piHashEnd= piHash +4;
int *piStart= piFromTo;
int *piEnd= piFromTo +iLen;
while (piHash < piHashEnd) {
while (piFromTo < piEnd) {
*piFromTo^= *piHash;
piFromTo+= 4;
}
piHash++;
piFromTo= ++piStart;
}
}
Any ideas?