From 28074a0952469aebf021821d95238cfb964d13ff Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 24 Feb 2012 21:26:11 +0100 Subject: lib/canonicalize: always remove tailing slash Signed-off-by: Karel Zak --- lib/canonicalize.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'lib/canonicalize.c') diff --git a/lib/canonicalize.c b/lib/canonicalize.c index ab32c1043..fd18af42c 100644 --- a/lib/canonicalize.c +++ b/lib/canonicalize.c @@ -174,9 +174,16 @@ canonicalize_path(const char *path) if (path == NULL) return NULL; - if (!myrealpath(path, canonical, PATH_MAX+1)) - return strdup(path); - + if (!myrealpath(path, canonical, PATH_MAX+1)) { + char *res = strdup(path); + if (res) { + p = strrchr(res, '/'); + /* delete trailing slash */ + if (p && p > res && *(p + 1) == '\0') + *p = '\0'; + } + return res; + } p = strrchr(canonical, '/'); if (p && strncmp(p, "/dm-", 4) == 0 && isdigit(*(p + 4))) { -- cgit v1.2.3-55-g7522