From: Carlos Martín Nieto Date: Wed, 16 Mar 2011 16:06:17 GMT Subject: [PATCH 1/3] make_absolute_path: return the input path if it points to our buffer Message-ID: <1300291579-25852-2-git-send-email-cmn@elego.de> In-Reply-To: <1300291579-25852-1-git-send-email-cmn@elego.de> Some codepaths call make_absolute_path with its own return value as input. In such a cases, return the path immediately. This fixes a valgrind-discovered error, whereby we tried to copy a string onto itself. Signed-off-by: Carlos Martín Nieto --- abspath.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/abspath.c b/abspath.c index 91ca00f..ff14068 100644 --- a/abspath.c +++ b/abspath.c @@ -24,6 +24,10 @@ const char *make_absolute_path(const char *path) char *last_elem = NULL; struct stat st; + /* We've already done it */ + if (path == buf || path == next_buf) + return path; + if (strlcpy(buf, path, PATH_MAX) >= PATH_MAX) die ("Too long path: %.*s", 60, path); -- 1.7.4.1