Patchwork [5/5] HACKING: add rules for printf-like functions

login
register
mail settings
Submitter Blue Swirl
Date Aug. 15, 2010, 5:51 p.m.
Message ID <AANLkTinAdZkfy86Z5TQQKBr07mfBL0OQ+OTjTCecNk2=@mail.gmail.com>
Download mbox | patch
Permalink /patch/61771/
State New
Headers show

Comments

Blue Swirl - Aug. 15, 2010, 5:51 p.m.
Add rules for printf-like functions, based on libvirt HACKING.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
---
 HACKING |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

Patch

diff --git a/HACKING b/HACKING
index 54bd2fd..8e2a298 100644
--- a/HACKING
+++ b/HACKING
@@ -103,3 +103,16 @@  so instead of e.g. isalnum you should use qemu_isalnum.

 Because of the memory management rules, you must use qemu_strdup/qemu_strndup
 instead of plain strdup/strndup.
+
+5. Printf-style functions
+
+Whenever you add a new printf-style function, i.e., one with a format
+string argument and following "..." in its prototype, be sure to use
+gcc's printf attribute directive in the prototype.
+
+This makes it so gcc's -Wformat and -Wformat-security options can do
+their jobs and cross-check format strings with the number and types
+of arguments.
+
+Currently many functions in QEMU are not following this rule but
+patches to add the attribute would be very much appreciated.