summaryrefslogtreecommitdiffstats
path: root/src/tests/mandb-bogus-symlink
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/mandb-bogus-symlink')
-rwxr-xr-xsrc/tests/mandb-bogus-symlink25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/tests/mandb-bogus-symlink b/src/tests/mandb-bogus-symlink
new file mode 100755
index 0000000..0e8cca5
--- /dev/null
+++ b/src/tests/mandb-bogus-symlink
@@ -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=.}"
+# shellcheck source-path=SCRIPTDIR
+. "$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"
+report 'double free' "$?"
+
+finish