From: Liu Yuan <tailai.ly at taobao.com> Signed-off-by: Liu Yuan <tailai.ly at taobao.com> --- sheep/store.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/sheep/store.c b/sheep/store.c index 0025252..201dbb5 100644 --- a/sheep/store.c +++ b/sheep/store.c @@ -1862,7 +1862,14 @@ int init_base_path(const char *d) static int init_obj_path(const char *base_path) { - int new; + int new, len; + + len = strlen(base_path); + /* farm needs extra 43 chars to store snapshot objects */ + if (len + 43 > PATH_MAX) { + eprintf("insanely long object directory %s", base_path); + return -1; + } obj_path = zalloc(strlen(base_path) + strlen(OBJ_PATH) + 1); sprintf(obj_path, "%s" OBJ_PATH, base_path); -- 1.7.8.rc3 |