push: fix segfault for odd config
[gitweb.git] / abspath.c
index 8194ce1256525105d07eedf2f964ad51d9162d95..649f34f83365db3513c5166b897c4f033831444d 100644 (file)
--- a/abspath.c
+++ b/abspath.c
@@ -64,6 +64,8 @@ const char *make_absolute_path(const char *path)
                        len = readlink(buf, next_buf, PATH_MAX);
                        if (len < 0)
                                die ("Invalid symlink: %s", buf);
+                       if (PATH_MAX <= len)
+                               die("symbolic link too long: %s", buf);
                        next_buf[len] = '\0';
                        buf = next_buf;
                        buf_index = 1 - buf_index;