do not crash when a manpath directory contains a symbolic link
authorschwarze <schwarze@openbsd.org>
Thu, 19 Aug 2021 16:55:24 +0000 (16:55 +0000)
committerschwarze <schwarze@openbsd.org>
Thu, 19 Aug 2021 16:55:24 +0000 (16:55 +0000)
that points to a directory rather than to a regular file;
bug reported by Lukas Epple <sternenseemann at systemli dot org>,
and my patch also tested by him on NixOS

usr.bin/mandoc/mandocdb.c

index 6e7efae..9699fde 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: mandocdb.c,v 1.216 2020/04/03 11:34:19 schwarze Exp $ */
+/* $OpenBSD: mandocdb.c,v 1.217 2021/08/19 16:55:24 schwarze Exp $ */
 /*
  * Copyright (c) 2011-2020 Ingo Schwarze <schwarze@openbsd.org>
  * Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
@@ -592,6 +592,8 @@ treescan(void)
                                        say(path, "&stat");
                                continue;
                        }
+                       if ((ff->fts_statp->st_mode & S_IFMT) != S_IFREG)
+                               continue;
                        /* FALLTHROUGH */
 
                /*