diff options
author | Kaleb S. KEITHLEY <kkeithle@redhat.com> | 2016-11-18 10:05:12 -0500 |
---|---|---|
committer | Kaleb KEITHLEY <kkeithle@redhat.com> | 2017-02-26 14:15:14 -0500 |
commit | 4638dfc1fee80f9338f2941f3cccb17bec63989a (patch) | |
tree | 7955fb0600daaa6b71bf099c4371d7548b2437bc /libglusterfs | |
parent | ece5f66a3d05628bb1a74833ae695443e079f80d (diff) |
events: use attribute(format(/printf)) to catch fmt string errors
and statedump too. Also "const char *" (versus just "char *") for the
fmt param.
Change-Id: Ic63734a673208a2cd49aebccce7659816e6179e3
BUG: 1399196
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
Reviewed-on: https://review.gluster.org/15881
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Diffstat (limited to 'libglusterfs')
-rw-r--r-- | libglusterfs/src/dict.c | 2 | ||||
-rw-r--r-- | libglusterfs/src/events.c | 2 | ||||
-rw-r--r-- | libglusterfs/src/events.h | 6 | ||||
-rw-r--r-- | libglusterfs/src/latency.c | 2 | ||||
-rw-r--r-- | libglusterfs/src/statedump.h | 8 |
5 files changed, 11 insertions, 9 deletions
diff --git a/libglusterfs/src/dict.c b/libglusterfs/src/dict.c index 96cb9e94bda..a0de0947b1a 100644 --- a/libglusterfs/src/dict.c +++ b/libglusterfs/src/dict.c @@ -2983,7 +2983,7 @@ dict_dump_to_statedump (dict_t *dict, char *dict_name, char *domain) "Failed to log dictionary %s", dict_name); return; } - gf_proc_dump_build_key (key, domain, dict_name); + gf_proc_dump_build_key (key, domain, "%s", dict_name); gf_proc_dump_write (key, "%s", dump); return; diff --git a/libglusterfs/src/events.c b/libglusterfs/src/events.c index 27c421a7c74..7c20c32ad6e 100644 --- a/libglusterfs/src/events.c +++ b/libglusterfs/src/events.c @@ -31,7 +31,7 @@ int -_gf_event (eventtypes_t event, char *fmt, ...) +_gf_event (eventtypes_t event, const char *fmt, ...) { int ret = 0; int sock = -1; diff --git a/libglusterfs/src/events.h b/libglusterfs/src/events.h index e059bc9c4d1..19988b0e3d2 100644 --- a/libglusterfs/src/events.h +++ b/libglusterfs/src/events.h @@ -15,10 +15,12 @@ #ifdef USE_EVENTS int -_gf_event (eventtypes_t event, char *fmt, ...); +_gf_event (eventtypes_t event, const char *fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); #else +__attribute__ ((__format__ (__printf__, 2, 3))) static inline int -_gf_event (eventtypes_t event, char *fmt, ...) +_gf_event (eventtypes_t event, const char *fmt, ...) { return 0; } diff --git a/libglusterfs/src/latency.c b/libglusterfs/src/latency.c index 611615949fa..5025de6c8cf 100644 --- a/libglusterfs/src/latency.c +++ b/libglusterfs/src/latency.c @@ -164,7 +164,7 @@ gf_proc_dump_latency_info (xlator_t *xl) gf_proc_dump_add_section (key_prefix); for (i = 0; i < GF_FOP_MAXVALUE; i++) { - gf_proc_dump_build_key (key, key_prefix, + gf_proc_dump_build_key (key, key_prefix, "%s", (char *)gf_fop_list[i]); gf_proc_dump_write (key, "%.03f,%"PRId64",%.03f", diff --git a/libglusterfs/src/statedump.h b/libglusterfs/src/statedump.h index 39a68bd69da..0a7a97e10d4 100644 --- a/libglusterfs/src/statedump.h +++ b/libglusterfs/src/statedump.h @@ -37,13 +37,13 @@ typedef struct gf_dump_options_ { extern gf_dump_options_t dump_options; -static inline -void _gf_proc_dump_build_key (char *key, const char *prefix, char *fmt,...) +__attribute__ ((__format__ (__printf__, 3, 4))) +static inline void +_gf_proc_dump_build_key (char *key, const char *prefix, const char *fmt, ...) { - char buf[GF_DUMP_MAX_BUF_LEN]; + char buf[GF_DUMP_MAX_BUF_LEN] = { 0, }; va_list ap; - memset(buf, 0, sizeof(buf)); va_start(ap, fmt); vsnprintf(buf, GF_DUMP_MAX_BUF_LEN, fmt, ap); va_end(ap); |