Re: [PATCH 1/3] make_absolute_path: return the input path if it points to our buffer
Carlos Martín Nieto <cmn@elego.de> writes:
Show 23 quoted lines
> 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 <cmn@elego.de>
> ---
> 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.