Common: Validate the number of {} fields in format strings

Unfortunately, {fmt} allows passing too many arguments to a format call
without raising any runtime or compile-time error [1].

As this is a common source of bugs since we started migrating to {fmt},
this commit adds some custom logic to validate the number of
replacement fields in format strings in addition to {fmt}'s own checks.

[1] https://github.com/fmtlib/fmt/issues/492
This commit is contained in:
Léo Lam
2020-11-19 02:51:56 +01:00
parent 47c91696ee
commit 62eeb05519
5 changed files with 58 additions and 4 deletions

View File

@ -53,6 +53,7 @@ add_library(common
Flag.h
FloatUtils.cpp
FloatUtils.h
FormatUtil.h
FPURoundMode.h
GekkoDisassembler.cpp
GekkoDisassembler.h