From bff03720f92bfcde848f46dca6a2cfad7adaf42e Mon Sep 17 00:00:00 2001 From: Amar Tumballi Date: Tue, 9 Oct 2018 12:32:41 +0530 Subject: [PATCH 399/399] all: fix the format string exceptions Currently, there are possibilities in few places, where a user-controlled (like filename, program parameter etc) string can be passed as 'fmt' for printf(), which can lead to segfault, if the user's string contains '%s', '%d' in it. While fixing it, makes sense to make the explicit check for such issues across the codebase, by making the format call properly. Fixes: CVE-2018-14661 BUG: 1637084 Change-Id: I63d6b65c61106f77c55f0922dc08a5b8fe421f23 Signed-off-by: Amar Tumballi Reviewed-on: https://code.engineering.redhat.com/gerrit/152221 Reviewed-by: Xavi Hernandez Reviewed-by: Sunil Kumar Heggodu Gopala Acharya --- cli/src/cli-cmd-volume.c | 2 +- libglusterfs/src/client_t.c | 2 +- libglusterfs/src/fd.c | 4 ++-- libglusterfs/src/inode.c | 2 +- libglusterfs/src/iobuf.c | 8 ++++---- libglusterfs/src/latency.c | 2 +- libglusterfs/src/logging.h | 3 ++- libglusterfs/src/mem-pool.h | 3 ++- libglusterfs/src/run.h | 3 ++- libglusterfs/src/statedump.h | 6 ++++-- xlators/cluster/afr/src/afr-common.c | 2 +- xlators/cluster/ec/src/ec.c | 2 +- xlators/debug/trace/src/trace.c | 2 +- xlators/features/barrier/src/barrier.c | 4 ++-- xlators/features/gfid-access/src/gfid-access.c | 2 +- xlators/features/locks/src/posix.c | 10 +++++----- xlators/features/shard/src/shard.c | 2 +- xlators/mgmt/glusterd/src/glusterd-rebalance.c | 2 +- xlators/mgmt/glusterd/src/glusterd-statedump.c | 2 +- xlators/mount/fuse/src/fuse-bridge.c | 2 +- xlators/performance/io-cache/src/io-cache.c | 8 ++++---- xlators/performance/io-threads/src/io-threads.c | 2 +- xlators/performance/md-cache/src/md-cache.c | 2 +- xlators/performance/nl-cache/src/nl-cache-helper.c | 2 +- xlators/performance/nl-cache/src/nl-cache.c | 2 +- xlators/performance/open-behind/src/open-behind.c | 4 ++-- xlators/performance/quick-read/src/quick-read.c | 4 ++-- xlators/performance/read-ahead/src/read-ahead.c | 6 +++--- xlators/performance/write-behind/src/write-behind.c | 6 +++--- xlators/protocol/client/src/client.c | 2 +- xlators/protocol/server/src/server.c | 2 +- xlators/storage/posix/src/posix.c | 2 +- 32 files changed, 56 insertions(+), 51 deletions(-) diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c index 2639afa..a1f0840 100644 --- a/cli/src/cli-cmd-volume.c +++ b/cli/src/cli-cmd-volume.c @@ -2846,7 +2846,7 @@ cli_launch_glfs_heal (int heal_op, dict_t *options) runner_add_args (&runner, "source-brick", NULL); runner_argprintf (&runner, "%s:%s", hostname, path); if (dict_get_str (options, "file", &filename) == 0) - runner_argprintf (&runner, filename); + runner_argprintf (&runner, "%s", filename); break; case GF_SHD_OP_SPLIT_BRAIN_FILES: runner_add_args (&runner, "split-brain-info", NULL); diff --git a/libglusterfs/src/client_t.c b/libglusterfs/src/client_t.c index 17e3026..dce27c1 100644 --- a/libglusterfs/src/client_t.c +++ b/libglusterfs/src/client_t.c @@ -650,7 +650,7 @@ clienttable_dump (clienttable_t *clienttable, char *prefix) clienttable->cliententries[i].next_free) { gf_proc_dump_build_key(key, prefix, "cliententry[%d]", i); - gf_proc_dump_add_section(key); + gf_proc_dump_add_section("%s", key); cliententry_dump(&clienttable->cliententries[i], key); } diff --git a/libglusterfs/src/fd.c b/libglusterfs/src/fd.c index 2dc52ba..27c8e13 100644 --- a/libglusterfs/src/fd.c +++ b/libglusterfs/src/fd.c @@ -1056,7 +1056,7 @@ fd_dump (fd_t *fd, char *prefix) if (fd->inode) { gf_proc_dump_build_key (key, "inode", NULL); - gf_proc_dump_add_section(key); + gf_proc_dump_add_section("%s", key); inode_dump (fd->inode, key); } @@ -1104,7 +1104,7 @@ fdtable_dump (fdtable_t *fdtable, char *prefix) if (GF_FDENTRY_ALLOCATED == fdtable->fdentries[i].next_free) { gf_proc_dump_build_key(key, prefix, "fdentry[%d]", i); - gf_proc_dump_add_section(key); + gf_proc_dump_add_section("%s", key); fdentry_dump(&fdtable->fdentries[i], key); } } diff --git a/libglusterfs/src/inode.c b/libglusterfs/src/inode.c index cf264d8..1bc05a4 100644 --- a/libglusterfs/src/inode.c +++ b/libglusterfs/src/inode.c @@ -31,7 +31,7 @@ list_for_each_entry (inode, head, list) { \ gf_proc_dump_build_key(key_buf, key_prefix, \ "%s.%d",list_type, i++); \ - gf_proc_dump_add_section(key_buf); \ + gf_proc_dump_add_section("%s", key_buf); \ inode_dump(inode, key); \ } \ } diff --git a/libglusterfs/src/iobuf.c b/libglusterfs/src/iobuf.c index 76584fc..f6b8558 100644 --- a/libglusterfs/src/iobuf.c +++ b/libglusterfs/src/iobuf.c @@ -1174,7 +1174,7 @@ iobuf_arena_info_dump (struct iobuf_arena *iobuf_arena, const char *key_prefix) gf_proc_dump_write(key, "%"PRIu64, iobuf_arena->page_size); list_for_each_entry (trav, &iobuf_arena->active.list, list) { gf_proc_dump_build_key(key, key_prefix,"active_iobuf.%d", i++); - gf_proc_dump_add_section(key); + gf_proc_dump_add_section("%s", key); iobuf_info_dump(trav, key); } @@ -1215,21 +1215,21 @@ iobuf_stats_dump (struct iobuf_pool *iobuf_pool) list_for_each_entry (trav, &iobuf_pool->arenas[j], list) { snprintf(msg, sizeof(msg), "arena.%d", i); - gf_proc_dump_add_section(msg); + gf_proc_dump_add_section("%s", msg); iobuf_arena_info_dump(trav,msg); i++; } list_for_each_entry (trav, &iobuf_pool->purge[j], list) { snprintf(msg, sizeof(msg), "purge.%d", i); - gf_proc_dump_add_section(msg); + gf_proc_dump_add_section("%s", msg); iobuf_arena_info_dump(trav,msg); i++; } list_for_each_entry (trav, &iobuf_pool->filled[j], list) { snprintf(msg, sizeof(msg), "filled.%d", i); - gf_proc_dump_add_section(msg); + gf_proc_dump_add_section("%s", msg); iobuf_arena_info_dump(trav,msg); i++; } diff --git a/libglusterfs/src/latency.c b/libglusterfs/src/latency.c index 1d75f5b..a890454 100644 --- a/libglusterfs/src/latency.c +++ b/libglusterfs/src/latency.c @@ -169,7 +169,7 @@ gf_proc_dump_latency_info (xlator_t *xl) int i; snprintf (key_prefix, GF_DUMP_MAX_BUF_LEN, "%s.latency", xl->name); - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); for (i = 0; i < GF_FOP_MAXVALUE; i++) { gf_proc_dump_build_key (key, key_prefix, "%s", diff --git a/libglusterfs/src/logging.h b/libglusterfs/src/logging.h index fd9a36d..4ed2a82 100644 --- a/libglusterfs/src/logging.h +++ b/libglusterfs/src/logging.h @@ -172,7 +172,8 @@ int _gf_log_callingfn (const char *domain, const char *file, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 6, 7))); -int _gf_log_eh (const char *function, const char *fmt, ...); +int _gf_log_eh (const char *function, const char *fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); diff --git a/libglusterfs/src/mem-pool.h b/libglusterfs/src/mem-pool.h index 1272ad4..dfe1f9a 100644 --- a/libglusterfs/src/mem-pool.h +++ b/libglusterfs/src/mem-pool.h @@ -86,7 +86,8 @@ int gf_vasprintf (char **string_ptr, const char *format, va_list arg); int -gf_asprintf (char **string_ptr, const char *format, ...); +gf_asprintf (char **string_ptr, const char *format, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); void __gf_free (void *ptr); diff --git a/libglusterfs/src/run.h b/libglusterfs/src/run.h index 1dc4bf9..e47ce11 100644 --- a/libglusterfs/src/run.h +++ b/libglusterfs/src/run.h @@ -76,7 +76,8 @@ void runner_add_args (runner_t *runner, ...); * @param runner pointer to runner_t instance * @param format printf style format specifier */ -void runner_argprintf (runner_t *runner, const char *format, ...); +void runner_argprintf (runner_t *runner, const char *format, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); /** * log a message about the command to be run. diff --git a/libglusterfs/src/statedump.h b/libglusterfs/src/statedump.h index 0a7a97e..ee97cdb 100644 --- a/libglusterfs/src/statedump.h +++ b/libglusterfs/src/statedump.h @@ -73,9 +73,11 @@ void gf_proc_dump_cleanup(void); void gf_proc_dump_info(int signum, glusterfs_ctx_t *ctx); -int gf_proc_dump_add_section(char *key,...); +int gf_proc_dump_add_section(char *key, ...) + __attribute__ ((__format__ (__printf__, 1, 2))); -int gf_proc_dump_write(char *key, char *value,...); +int gf_proc_dump_write(char *key, char *value, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); void inode_table_dump(inode_table_t *itable, char *prefix); diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c index bded6a2..e8107c9 100644 --- a/xlators/cluster/afr/src/afr-common.c +++ b/xlators/cluster/afr/src/afr-common.c @@ -4536,7 +4536,7 @@ afr_priv_dump (xlator_t *this) GF_ASSERT (priv); snprintf(key_prefix, GF_DUMP_MAX_BUF_LEN, "%s.%s", this->type, this->name); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("child_count", "%u", priv->child_count); for (i = 0; i < priv->child_count; i++) { sprintf (key, "child_up[%d]", i); diff --git a/xlators/cluster/ec/src/ec.c b/xlators/cluster/ec/src/ec.c index 9a23a45..9cb9580 100644 --- a/xlators/cluster/ec/src/ec.c +++ b/xlators/cluster/ec/src/ec.c @@ -1316,7 +1316,7 @@ int32_t ec_dump_private(xlator_t *this) GF_ASSERT(ec); snprintf(key_prefix, GF_DUMP_MAX_BUF_LEN, "%s.%s", this->type, this->name); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("nodes", "%u", ec->nodes); gf_proc_dump_write("redundancy", "%u", ec->redundancy); gf_proc_dump_write("fragment_size", "%u", ec->fragment_size); diff --git a/xlators/debug/trace/src/trace.c b/xlators/debug/trace/src/trace.c index 451ef9a..34ac4ca 100644 --- a/xlators/debug/trace/src/trace.c +++ b/xlators/debug/trace/src/trace.c @@ -3059,7 +3059,7 @@ trace_dump_history (xlator_t *this) if (conf && conf->log_history == _gf_true) { gf_proc_dump_build_key (key_prefix, "xlator.debug.trace", "history"); - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); eh_dump (this->history, NULL, dump_history_trace); } ret = 0; diff --git a/xlators/features/barrier/src/barrier.c b/xlators/features/barrier/src/barrier.c index ce3a255..8e964e8 100644 --- a/xlators/features/barrier/src/barrier.c +++ b/xlators/features/barrier/src/barrier.c @@ -713,7 +713,7 @@ __barrier_dump_queue (barrier_priv_t *priv) list_for_each_entry (stub, &priv->queue, list) { snprintf (key, sizeof (key), "stub.%d", i++); - gf_proc_dump_add_section (key); + gf_proc_dump_add_section ("%s", key); barrier_dump_stub(stub, key); } @@ -735,7 +735,7 @@ barrier_dump_priv (xlator_t *this) return 0; gf_proc_dump_build_key (key, "xlator.features.barrier", "priv"); - gf_proc_dump_add_section (key); + gf_proc_dump_add_section ("%s", key); LOCK (&priv->lock); { diff --git a/xlators/features/gfid-access/src/gfid-access.c b/xlators/features/gfid-access/src/gfid-access.c index 7d75b09..aa8aac1 100644 --- a/xlators/features/gfid-access/src/gfid-access.c +++ b/xlators/features/gfid-access/src/gfid-access.c @@ -1382,7 +1382,7 @@ ga_dump_inodectx (xlator_t *this, inode_t *inode) if (ret == 0) { tmp_inode = (void*) value; gf_proc_dump_build_key (key_prefix, this->name, "inode"); - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); gf_proc_dump_write ("real-gfid", "%s", uuid_utoa (tmp_inode->gfid)); } diff --git a/xlators/features/locks/src/posix.c b/xlators/features/locks/src/posix.c index c58e6ba..b434a08 100644 --- a/xlators/features/locks/src/posix.c +++ b/xlators/features/locks/src/posix.c @@ -3292,7 +3292,7 @@ __dump_entrylks (pl_inode_t *pl_inode) blocked, granted); } - gf_proc_dump_write(key, tmp); + gf_proc_dump_write(key, "%s", tmp); count++; } @@ -3313,7 +3313,7 @@ __dump_entrylks (pl_inode_t *pl_inode) lkowner_utoa (&lock->owner), lock->client, lock->connection_id, blocked); - gf_proc_dump_write(key, tmp); + gf_proc_dump_write(key, "%s", tmp); count++; } @@ -3364,7 +3364,7 @@ __dump_inodelks (pl_inode_t *pl_inode) &lock->granted_time.tv_sec, &lock->blkd_time.tv_sec, _gf_true); - gf_proc_dump_write(key, tmp); + gf_proc_dump_write(key, "%s", tmp); count++; } @@ -3380,7 +3380,7 @@ __dump_inodelks (pl_inode_t *pl_inode) lock->client, lock->connection_id, 0, &lock->blkd_time.tv_sec, _gf_false); - gf_proc_dump_write(key, tmp); + gf_proc_dump_write(key, "%s", tmp); count++; } @@ -3421,7 +3421,7 @@ __dump_posixlks (pl_inode_t *pl_inode) &lock->owner, lock->client, NULL, &lock->granted_time.tv_sec, &lock->blkd_time.tv_sec, (lock->blocked)? _gf_false: _gf_true); - gf_proc_dump_write(key, tmp); + gf_proc_dump_write(key, "%s", tmp); count++; } diff --git a/xlators/features/shard/src/shard.c b/xlators/features/shard/src/shard.c index d67cdf4..f5fb181 100644 --- a/xlators/features/shard/src/shard.c +++ b/xlators/features/shard/src/shard.c @@ -5557,7 +5557,7 @@ shard_priv_dump (xlator_t *this) snprintf (key_prefix, GF_DUMP_MAX_BUF_LEN, "%s.%s", this->type, this->name); - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); gf_proc_dump_write ("shard-block-size", "%s", gf_uint64_2human_readable (priv->block_size)); gf_proc_dump_write ("inode-count", "%d", priv->inode_count); diff --git a/xlators/mgmt/glusterd/src/glusterd-rebalance.c b/xlators/mgmt/glusterd/src/glusterd-rebalance.c index 848e689..5ab828c 100644 --- a/xlators/mgmt/glusterd/src/glusterd-rebalance.c +++ b/xlators/mgmt/glusterd/src/glusterd-rebalance.c @@ -310,7 +310,7 @@ glusterd_handle_defrag_start (glusterd_volinfo_t *volinfo, char *op_errstr, runner_add_arg (&runner, "--pid-file"); runner_argprintf (&runner, "%s",pidfile); runner_add_arg (&runner, "-l"); - runner_argprintf (&runner, logfile); + runner_argprintf (&runner, "%s", logfile); if (volinfo->memory_accounting) runner_add_arg (&runner, "--mem-accounting"); if (dict_get_str (priv->opts, GLUSTERD_LOCALTIME_LOGGING_KEY, diff --git a/xlators/mgmt/glusterd/src/glusterd-statedump.c b/xlators/mgmt/glusterd/src/glusterd-statedump.c index d0a9705..8c2c4b5 100644 --- a/xlators/mgmt/glusterd/src/glusterd-statedump.c +++ b/xlators/mgmt/glusterd/src/glusterd-statedump.c @@ -197,7 +197,7 @@ glusterd_dump_priv (xlator_t *this) return 0; gf_proc_dump_build_key (key, "xlator.glusterd", "priv"); - gf_proc_dump_add_section (key); + gf_proc_dump_add_section ("%s", key); pthread_mutex_lock (&priv->mutex); { diff --git a/xlators/mount/fuse/src/fuse-bridge.c b/xlators/mount/fuse/src/fuse-bridge.c index 85cee73..1c4f4e4 100644 --- a/xlators/mount/fuse/src/fuse-bridge.c +++ b/xlators/mount/fuse/src/fuse-bridge.c @@ -5189,7 +5189,7 @@ fuse_history_dump (xlator_t *this) gf_proc_dump_build_key (key_prefix, "xlator.mount.fuse", "history"); - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); eh_dump (this->history, NULL, dump_history_fuse); ret = 0; diff --git a/xlators/performance/io-cache/src/io-cache.c b/xlators/performance/io-cache/src/io-cache.c index 8963942..700d8c2 100644 --- a/xlators/performance/io-cache/src/io-cache.c +++ b/xlators/performance/io-cache/src/io-cache.c @@ -2008,7 +2008,7 @@ ioc_inode_dump (xlator_t *this, inode_t *inode) if (gf_uuid_is_null (ioc_inode->inode->gfid)) goto unlock; - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); section_added = _gf_true; __inode_path (ioc_inode->inode, NULL, &path); @@ -2031,7 +2031,7 @@ unlock: out: if (ret && ioc_inode) { if (section_added == _gf_false) - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); gf_proc_dump_write ("Unable to print the status of ioc_inode", "(Lock acquisition failed) %s", uuid_utoa (inode->gfid)); @@ -2053,7 +2053,7 @@ ioc_priv_dump (xlator_t *this) priv = this->private; gf_proc_dump_build_key (key_prefix, "io-cache", "priv"); - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); add_section = _gf_true; ret = pthread_mutex_trylock (&priv->table_lock); @@ -2074,7 +2074,7 @@ out: if (!add_section) { gf_proc_dump_build_key (key_prefix, "xlator." "performance.io-cache", "priv"); - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); } gf_proc_dump_write ("Unable to dump the state of private " "structure of io-cache xlator", "(Lock " diff --git a/xlators/performance/io-threads/src/io-threads.c b/xlators/performance/io-threads/src/io-threads.c index 5c47072..41d48ab 100644 --- a/xlators/performance/io-threads/src/io-threads.c +++ b/xlators/performance/io-threads/src/io-threads.c @@ -911,7 +911,7 @@ iot_priv_dump (xlator_t *this) snprintf (key_prefix, GF_DUMP_MAX_BUF_LEN, "%s.%s", this->type, this->name); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("maximum_threads_count", "%d", conf->max_count); gf_proc_dump_write("current_threads_count", "%d", conf->curr_count); diff --git a/xlators/performance/md-cache/src/md-cache.c b/xlators/performance/md-cache/src/md-cache.c index 9d2eea6..e7452e9 100644 --- a/xlators/performance/md-cache/src/md-cache.c +++ b/xlators/performance/md-cache/src/md-cache.c @@ -3087,7 +3087,7 @@ mdc_priv_dump (xlator_t *this) conf = this->private; snprintf(key_prefix, GF_DUMP_MAX_BUF_LEN, "%s.%s", this->type, this->name); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("stat_hit_count", "%"PRId64, conf->mdc_counter.stat_hit.cnt); diff --git a/xlators/performance/nl-cache/src/nl-cache-helper.c b/xlators/performance/nl-cache/src/nl-cache-helper.c index 0b6c884..583d67b 100644 --- a/xlators/performance/nl-cache/src/nl-cache-helper.c +++ b/xlators/performance/nl-cache/src/nl-cache-helper.c @@ -1177,7 +1177,7 @@ nlc_dump_inodectx (xlator_t *this, inode_t *inode) gf_proc_dump_build_key (key_prefix, "xlator.performance.nl-cache", "nlc_inode"); - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); __inode_path (inode, NULL, &path); if (path != NULL) { diff --git a/xlators/performance/nl-cache/src/nl-cache.c b/xlators/performance/nl-cache/src/nl-cache.c index 7dad8d9..6365d82 100644 --- a/xlators/performance/nl-cache/src/nl-cache.c +++ b/xlators/performance/nl-cache/src/nl-cache.c @@ -615,7 +615,7 @@ nlc_priv_dump (xlator_t *this) conf = this->private; snprintf(key_prefix, GF_DUMP_MAX_BUF_LEN, "%s.%s", this->type, this->name); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write("negative_lookup_hit_count", "%"PRId64, conf->nlc_counter.nlc_hit.cnt); diff --git a/xlators/performance/open-behind/src/open-behind.c b/xlators/performance/open-behind/src/open-behind.c index 3be35bc..2d77f2d 100644 --- a/xlators/performance/open-behind/src/open-behind.c +++ b/xlators/performance/open-behind/src/open-behind.c @@ -897,7 +897,7 @@ ob_priv_dump (xlator_t *this) gf_proc_dump_build_key (key_prefix, "xlator.performance.open-behind", "priv"); - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); gf_proc_dump_write ("use_anonymous_fd", "%d", conf->use_anonymous_fd); @@ -926,7 +926,7 @@ ob_fdctx_dump (xlator_t *this, fd_t *fd) gf_proc_dump_build_key (key_prefix, "xlator.performance.open-behind", "file"); - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); gf_proc_dump_write ("fd", "%p", fd); diff --git a/xlators/performance/quick-read/src/quick-read.c b/xlators/performance/quick-read/src/quick-read.c index 61232c1..ca228b8 100644 --- a/xlators/performance/quick-read/src/quick-read.c +++ b/xlators/performance/quick-read/src/quick-read.c @@ -748,7 +748,7 @@ qr_inodectx_dump (xlator_t *this, inode_t *inode) gf_proc_dump_build_key (key_prefix, "xlator.performance.quick-read", "inodectx"); - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); gf_proc_dump_write ("entire-file-cached", "%s", qr_inode->data ? "yes" : "no"); @@ -794,7 +794,7 @@ qr_priv_dump (xlator_t *this) gf_proc_dump_build_key (key_prefix, "xlator.performance.quick-read", "priv"); - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); gf_proc_dump_write ("max_file_size", "%d", conf->max_file_size); gf_proc_dump_write ("cache_timeout", "%d", conf->cache_timeout); diff --git a/xlators/performance/read-ahead/src/read-ahead.c b/xlators/performance/read-ahead/src/read-ahead.c index 242b579..74ddf49 100644 --- a/xlators/performance/read-ahead/src/read-ahead.c +++ b/xlators/performance/read-ahead/src/read-ahead.c @@ -823,7 +823,7 @@ ra_fdctx_dump (xlator_t *this, fd_t *fd) "xlator.performance.read-ahead", "file"); - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); ret = __inode_path (fd->inode, NULL, &path); if (path != NULL) { @@ -1068,7 +1068,7 @@ ra_priv_dump (xlator_t *this) gf_proc_dump_build_key (key_prefix, "xlator.performance.read-ahead", "priv"); - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); add_section = _gf_true; ret = pthread_mutex_trylock (&conf->conf_lock); @@ -1086,7 +1086,7 @@ ra_priv_dump (xlator_t *this) out: if (ret && conf) { if (add_section == _gf_false) - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); gf_proc_dump_write ("Unable to dump priv", "(Lock acquisition failed) %s", this->name); diff --git a/xlators/performance/write-behind/src/write-behind.c b/xlators/performance/write-behind/src/write-behind.c index 478985a..ef02e18 100644 --- a/xlators/performance/write-behind/src/write-behind.c +++ b/xlators/performance/write-behind/src/write-behind.c @@ -2763,7 +2763,7 @@ wb_priv_dump (xlator_t *this) gf_proc_dump_build_key (key_prefix, "xlator.performance.write-behind", "priv"); - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); gf_proc_dump_write ("aggregate_size", "%d", conf->aggregate_size); gf_proc_dump_write ("window_size", "%d", conf->window_size); @@ -2787,7 +2787,7 @@ __wb_dump_requests (struct list_head *head, char *prefix) gf_proc_dump_build_key (key_prefix, key, "%s", (char *)gf_fop_list[req->fop]); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); gf_proc_dump_write ("unique", "%"PRIu64, req->unique); @@ -2859,7 +2859,7 @@ wb_inode_dump (xlator_t *this, inode_t *inode) gf_proc_dump_build_key (key_prefix, "xlator.performance.write-behind", "wb_inode"); - gf_proc_dump_add_section (key_prefix); + gf_proc_dump_add_section ("%s", key_prefix); __inode_path (inode, NULL, &path); if (path != NULL) { diff --git a/xlators/protocol/client/src/client.c b/xlators/protocol/client/src/client.c index 26b0907..674f1aa 100644 --- a/xlators/protocol/client/src/client.c +++ b/xlators/protocol/client/src/client.c @@ -2855,7 +2855,7 @@ client_priv_dump (xlator_t *this) gf_proc_dump_build_key(key_prefix, "xlator.protocol.client", "%s.priv", this->name); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); list_for_each_entry(tmp, &conf->saved_fds, sfd_pos) { sprintf (key, "fd.%d.remote_fd", i); diff --git a/xlators/protocol/server/src/server.c b/xlators/protocol/server/src/server.c index d0e815e..3a429bc 100644 --- a/xlators/protocol/server/src/server.c +++ b/xlators/protocol/server/src/server.c @@ -320,7 +320,7 @@ server_priv (xlator_t *this) return 0; gf_proc_dump_build_key (key, "xlator.protocol.server", "priv"); - gf_proc_dump_add_section (key); + gf_proc_dump_add_section ("%s", key); ret = pthread_mutex_trylock (&conf->mutex); if (ret != 0) diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c index f79dbda..7bfe780 100644 --- a/xlators/storage/posix/src/posix.c +++ b/xlators/storage/posix/src/posix.c @@ -6960,7 +6960,7 @@ posix_priv (xlator_t *this) (void) snprintf(key_prefix, GF_DUMP_MAX_BUF_LEN, "%s.%s", this->type, this->name); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); if (!this) return 0; -- 1.8.3.1