fix signed vs unsigned char validation bug