From: Junio C Hamano Date: Wed, 16 Mar 2011 20:51:13 GMT Subject: Re: [PATCH 1/3] make_absolute_path: return the input path if it points to our buffer Message-ID: <7vaagu7pry.fsf@alter.siamese.dyndns.org> In-Reply-To: <1300291579-25852-2-git-send-email-cmn@elego.de> Carlos Martín Nieto writes: > 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; > + I like this, as it is very obvious what we are checking here. Thanks.