summaryrefslogtreecommitdiffstats
path: root/libglusterfs
diff options
context:
space:
mode:
authorshishir gowda <shishirng@gluster.com>2011-03-31 04:57:05 +0000
committerVijay Bellur <vijay@dev.gluster.com>2011-03-31 05:04:42 -0700
commitc68b1e28ae9b7528aa844764e719c7267976be83 (patch)
treef95bdf6b659069b1eac659ee56e7ce5d1df6ec0c /libglusterfs
parent58974b02b6ebb65ee1f7baf23b0fe6c3e7fcf8cd (diff)
TOP: Validate command options
Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2628 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2628
Diffstat (limited to 'libglusterfs')
-rw-r--r--libglusterfs/src/common-utils.c31
-rw-r--r--libglusterfs/src/common-utils.h1
2 files changed, 32 insertions, 0 deletions
diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c
index 21506636cd7..0d850740eee 100644
--- a/libglusterfs/src/common-utils.c
+++ b/libglusterfs/src/common-utils.c
@@ -1773,3 +1773,34 @@ gf_array_insertionsort (void *A, int l, int r, size_t elem_size,
}
}
}
+
+int
+gf_is_str_int (const char *value)
+{
+ int flag = 0;
+ char *str = NULL;
+ char *fptr = NULL;
+
+ GF_VALIDATE_OR_GOTO ("", value, out);
+
+ str = strdup (value);
+ if (!str)
+ goto out;
+
+ fptr = str;
+
+ while (*str) {
+ if (!isdigit(*str)) {
+ flag = 1;
+ goto out;
+ }
+ str++;
+ }
+
+out:
+ if (fptr)
+ GF_FREE (fptr);
+
+ return flag;
+}
+
diff --git a/libglusterfs/src/common-utils.h b/libglusterfs/src/common-utils.h
index 7a18b12cda2..eb3e121779d 100644
--- a/libglusterfs/src/common-utils.h
+++ b/libglusterfs/src/common-utils.h
@@ -359,4 +359,5 @@ void _get_md5_str (char *out_str, size_t outlen,
const uint8_t *input, int n);
void gf_array_insertionsort (void *a, int l, int r, size_t elem_size,
gf_cmp cmp);
+int gf_is_str_int (const char *value);
#endif /* _COMMON_UTILS_H */