From f5d1c719d4de7b6b200b9d1d97af10b02db05c2b Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Tue, 10 May 2016 19:43:08 -0600 Subject: [PATCH] verify: only escape 'name', not prefix+name Fixes: e139c0c076e5 ("verify: escape '/' in state file name to '.'") Signed-off-by: Jens Axboe --- verify-state.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/verify-state.h b/verify-state.h index 2fe710f1..ccde031a 100644 --- a/verify-state.h +++ b/verify-state.h @@ -83,21 +83,24 @@ static inline void verify_state_gen_name(char *out, size_t size, const char *name, const char *prefix, int num) { + char ename[PATH_MAX]; char *ptr; - snprintf(out, size, "%s-%s-%d-verify.state", prefix, name, num); - out[size - 1] = '\0'; - /* * Escape '/', just turn them into '.' */ - ptr = out; + strcpy(ename, name); + ptr = ename; while ((ptr = strchr(ptr, '/')) != NULL) { *ptr = '.'; ptr++; if (*ptr == '\0') break; } + + snprintf(out, size, "%s-%s-%d-verify.state", prefix, ename, num); + out[size - 1] = '\0'; + } #endif -- 2.25.1