Created new module bugprone and placed the check in that.
Finds memset() calls with potential mistakes in their arguments.
Replaces and extends the existing google-runtime-memset-zero-length check. Cases covered:
- Fill value is a character '0'. Integer 0 might have been intended.
- Fill value is out of char range and gets truncated.
- Byte count is zero. Potentially swapped with the fill value argument.
Hits on LLVM codebase: