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

login
register
mail settings
Submitter Blue Swirl
Date Aug. 26, 2010, 6:38 p.m.
Message ID <AANLkTimuCX-4iYoODhjkXKWF23pHxPciEmw7O1LHG3Qv@mail.gmail.com>
Download mbox | patch
Permalink /patch/62798/
State New
Headers show

Comments

Blue Swirl - Aug. 26, 2010, 6:38 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 a3d714f..5beb765 100644
--- a/HACKING
+++ b/HACKING
@@ -107,3 +107,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.