int与unsigned int比较是提示报警

int与unsigned int比较是提示报警
int d3des::Encrypt_Field(char * from,char * into,int flen){
int i,len;
unsigned int padding_bytes;
char *data;
unsigned char *p,*q;

data = (char*)malloc(sizeof(char)*flen+BLOCK_BYTES);
memcpy(data,from,flen);

padding_bytes = BLOCK_BYTES - flen%BLOCK_BYTES;
**for(i=0;iunsigned char)padding_bytes;
}
len = flen + padding_bytes;
des3key(key,EN0);
p = (unsigned char*)data;
q = (unsigned char*)into;
for( i = 0; i < len; i += 8)   
    Ddes(p + i, q + i); 

free(data);
return len;

}

694:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 for(i=0;i

这个应该是14行对int类型变量赋值unsigned int的报警吧,因为两者存储数据范围不一样 len = (int)(flen + padding_bytes); 这样看下告警还有么