summaryrefslogtreecommitdiffstats
path: root/src/tests/mandb-6
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-06 01:16:24 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-06 01:16:24 +0000
commit9221dca64f0c8b5de72727491e41cf63e902eaab (patch)
treed8cbbf520eb4b5c656a54b2e36947008dcb751ad /src/tests/mandb-6
parentInitial commit. (diff)
downloadman-db-9221dca64f0c8b5de72727491e41cf63e902eaab.tar.xz
man-db-9221dca64f0c8b5de72727491e41cf63e902eaab.zip
Adding upstream version 2.8.5.upstream/2.8.5upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/tests/mandb-6')
-rwxr-xr-xsrc/tests/mandb-625
1 files changed, 25 insertions, 0 deletions
diff --git a/src/tests/mandb-6 b/src/tests/mandb-6
new file mode 100755
index 0000000..b0ec9aa
--- /dev/null
+++ b/src/tests/mandb-6
@@ -0,0 +1,25 @@
+#! /bin/sh
+
+# Test for double free or corruption crash with bogus filename and symlink of man page.
+# https://bugzilla.redhat.com/show_bug.cgi?id=702904
+
+: ${srcdir=.}
+. "$srcdir/testlib.sh"
+
+: ${MANDB=mandb}
+
+init
+fake_config /usr/share/man
+MANPATH="$tmpdir/usr/share/man"
+export MANPATH
+
+mkdir -p "$tmpdir/usr/share/man/man8"
+mkdir -p "$tmpdir/usr/lib/aa-bbb"
+write_page test1 8 "$tmpdir/usr/lib/aa-bbb/aa-test1.8.gz" UTF-8 gz t \
+ 'test1 \- testing man page'
+ln -s "../../../lib/aa-bbb/aa-test1.8.gz" "$tmpdir/usr/share/man/man8/aa-test1.8.gz"
+run $MANDB -C "$tmpdir/manpath.config" -u -q "$tmpdir/usr/share/man"
+# $? is deliberately expanded here.
+expect_pass 'double free' "test $? -eq 0"
+
+finish