]> git.ipfire.org Git - thirdparty/git.git/commitdiff
real_path: set errno when max number of symlinks is exceeded
authorBrandon Williams <bmwill@google.com>
Mon, 9 Jan 2017 18:50:24 +0000 (10:50 -0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 9 Jan 2017 19:26:10 +0000 (11:26 -0800)
Set errno to ELOOP when the maximum number of symlinks is exceeded, as
would be done by other symlink-resolving functions.

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
abspath.c

index 0393213e5af3a416c7b35397168b1b04611c2480..fce40fddcc3b68a644fb93a698da8164a1d9b9cf 100644 (file)
--- a/abspath.c
+++ b/abspath.c
@@ -141,6 +141,8 @@ char *strbuf_realpath(struct strbuf *resolved, const char *path,
                        strbuf_reset(&symlink);
 
                        if (num_symlinks++ > MAXSYMLINKS) {
+                               errno = ELOOP;
+
                                if (die_on_error)
                                        die("More than %d nested symlinks "
                                            "on path '%s'", MAXSYMLINKS, path);