From: Karel Zak Date: Fri, 24 Feb 2012 20:26:11 +0000 (+0100) Subject: lib/canonicalize: always remove tailing slash X-Git-Tag: v2.22-rc1~752 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=28074a0952469aebf021821d95238cfb964d13ff;p=thirdparty%2Futil-linux.git lib/canonicalize: always remove tailing slash Signed-off-by: Karel Zak --- diff --git a/lib/canonicalize.c b/lib/canonicalize.c index ab32c10431..fd18af42ce 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))) {