summaryrefslogtreecommitdiffstats
path: root/xlators
diff options
context:
space:
mode:
Diffstat (limited to 'xlators')
-rw-r--r--xlators/protocol/server/src/server-protocol.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/xlators/protocol/server/src/server-protocol.c b/xlators/protocol/server/src/server-protocol.c
index 993323a1d4e..608b3151358 100644
--- a/xlators/protocol/server/src/server-protocol.c
+++ b/xlators/protocol/server/src/server-protocol.c
@@ -5239,7 +5239,8 @@ build_volfile_path (xlator_t *this, const char *key, char *path,
/* Make sure that conf-dir doesn't
* contain ".." in path
*/
- if (strstr (conf_dir_data->data, "..")) {
+ if ((gf_strstr (conf_dir_data->data,
+ "/", "..")) == -1) {
ret = -1;
gf_log (this->name, GF_LOG_ERROR,
"%s: invalid conf_dir",
@@ -5251,7 +5252,7 @@ build_volfile_path (xlator_t *this, const char *key, char *path,
* contain "../" in path
*/
- if (strstr (key, "../")) {
+ if ((gf_strstr (key, "/", "..")) == -1) {
ret = -1;
gf_log (this->name, GF_LOG_ERROR,
"%s: invalid key", key);