...
Storing signed data in a variable of the unsigned type char can lead to misinterpreted data and possibly to memory leaks. Furthermore, comparing a value of type char with -1 never evaluates to true. This error could lead to a denial-of-service attack.
...