summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-hooks.c
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-hooks.c')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-hooks.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-hooks.c b/xlators/mgmt/glusterd/src/glusterd-hooks.c
index b310bc2a109..914d029ed39 100644
--- a/xlators/mgmt/glusterd/src/glusterd-hooks.c
+++ b/xlators/mgmt/glusterd/src/glusterd-hooks.c
@@ -80,6 +80,7 @@ glusterd_hooks_create_hooks_directory (char *basedir)
"pre",
"post"};
glusterd_conf_t *priv = NULL;
+ int32_t len = 0;
priv = THIS->private;
@@ -106,8 +107,12 @@ glusterd_hooks_create_hooks_directory (char *basedir)
if (strlen (cmd_subdir) == 0)
continue;
- snprintf (path, sizeof (path), "%s/%s", version_dir,
- cmd_subdir);
+ len = snprintf (path, sizeof (path), "%s/%s", version_dir,
+ cmd_subdir);
+ if ((len < 0) || (len >= sizeof(path))) {
+ ret = -1;
+ goto out;
+ }
ret = mkdir_p (path, 0777, _gf_true);
if (ret) {
gf_msg (THIS->name, GF_LOG_CRITICAL, errno,
@@ -119,8 +124,13 @@ glusterd_hooks_create_hooks_directory (char *basedir)
for (type = GD_COMMIT_HOOK_PRE; type < GD_COMMIT_HOOK_MAX;
type++) {
- snprintf (path, sizeof (path), "%s/%s/%s",
- version_dir, cmd_subdir, type_subdir[type]);
+ len = snprintf (path, sizeof (path), "%s/%s/%s",
+ version_dir, cmd_subdir,
+ type_subdir[type]);
+ if ((len < 0) || (len >= sizeof(path))) {
+ ret = -1;
+ goto out;
+ }
ret = mkdir_p (path, 0777, _gf_true);
if (ret) {
gf_msg (THIS->name, GF_LOG_CRITICAL, errno,