summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libglusterfs/src/store.c6
-rw-r--r--libglusterfs/src/store.h2
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-store.c2
3 files changed, 6 insertions, 4 deletions
diff --git a/libglusterfs/src/store.c b/libglusterfs/src/store.c
index 3da82a4768d..53b44b1e1c8 100644
--- a/libglusterfs/src/store.c
+++ b/libglusterfs/src/store.c
@@ -181,7 +181,7 @@ out:
}
int
-gf_store_read_and_tokenize (FILE *file, char *str, char **iter_key,
+gf_store_read_and_tokenize (FILE *file, char *str, int size, char **iter_key,
char **iter_val, gf_store_op_errno_t *store_errno)
{
int32_t ret = -1;
@@ -197,7 +197,7 @@ gf_store_read_and_tokenize (FILE *file, char *str, char **iter_key,
GF_ASSERT (iter_val);
GF_ASSERT (store_errno);
- temp = fgets (str, PATH_MAX, file);
+ temp = fgets (str, size, file);
if (temp == NULL || feof (file)) {
ret = -1;
*store_errno = GD_STORE_EOF;
@@ -292,6 +292,7 @@ gf_store_retrieve_value (gf_store_handle_t *handle, char *key, char **value)
do {
ret = gf_store_read_and_tokenize (handle->read, scan_str,
+ st.st_size + 1,
&iter_key, &iter_val,
&store_errno);
if (ret < 0) {
@@ -574,6 +575,7 @@ gf_store_iter_get_next (gf_store_iter_t *iter, char **key, char **value,
}
ret = gf_store_read_and_tokenize (iter->file, scan_str,
+ st.st_size + 1,
&iter_key, &iter_val,
&store_errno);
if (ret < 0) {
diff --git a/libglusterfs/src/store.h b/libglusterfs/src/store.h
index 6b7c98a3547..44af117f48c 100644
--- a/libglusterfs/src/store.h
+++ b/libglusterfs/src/store.h
@@ -64,7 +64,7 @@ int32_t
gf_store_unlink_tmppath (gf_store_handle_t *shandle);
int
-gf_store_read_and_tokenize (FILE *file, char *str, char **iter_key,
+gf_store_read_and_tokenize (FILE *file, char *str, int size, char **iter_key,
char **iter_val, gf_store_op_errno_t *store_errno);
int32_t
diff --git a/xlators/mgmt/glusterd/src/glusterd-store.c b/xlators/mgmt/glusterd/src/glusterd-store.c
index 361ecb88554..72ba60440d5 100644
--- a/xlators/mgmt/glusterd/src/glusterd-store.c
+++ b/xlators/mgmt/glusterd/src/glusterd-store.c
@@ -3527,7 +3527,7 @@ glusterd_store_retrieve_missed_snaps_list (xlator_t *this)
}
do {
- ret = gf_store_read_and_tokenize (fp, buf,
+ ret = gf_store_read_and_tokenize (fp, buf, sizeof (buf),
&missed_node_info, &value,
&store_errno);
if (ret) {