mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-09-28 18:56:33 +03:00
String is defined as an array of char. The char can be negative. The cast "reinterpret_cast" from char to int keep the negative side, so the "unsigned char" number 0x91 is negative as "char". When it is "reinterpret_cast" as integer, it becomes 0xffffff91, so the hexadecimal display is broken: [155493246391.747672] [/absolute?what=badarg2] [9] T (0) t:hexEncode: "ffffff91ffffffecffffffe6334bffffffebffffff87ffffff9affffff824a06ffffffc33b4cffff (14 characters omitted)" This patch fix this behavior using classic cast without reinterpret_cast: [155493251286.221115] [/absolute?what=badarg2] [9] T (0) t:hexEncode: "91ece6334beb879a824a06c33b4cb4240e4c6f56"