diff -up trunk/src/tests/Makefile.am.double-free-test trunk/src/tests/Makefile.am --- trunk/src/tests/Makefile.am.double-free-test 2011-04-12 12:24:06.000000000 +0200 +++ trunk/src/tests/Makefile.am 2011-10-04 15:51:47.214006811 +0200 @@ -25,7 +25,7 @@ ALL_TESTS = \ lexgrog-1 \ man-1 man-2 man-3 \ manconv-1 manconv-2 manconv-3 \ - mandb-1 mandb-2 mandb-3 mandb-4 mandb-5 \ + mandb-1 mandb-2 mandb-3 mandb-4 mandb-5 mandb-6 \ zsoelim-1 if !CROSS_COMPILING TESTS = $(ALL_TESTS) diff -up trunk/src/tests/Makefile.in.double-free-test trunk/src/tests/Makefile.in --- trunk/src/tests/Makefile.in.double-free-test 2011-04-13 12:24:30.000000000 +0200 +++ trunk/src/tests/Makefile.in 2011-10-04 15:59:12.629737716 +0200 @@ -1084,7 +1084,7 @@ ALL_TESTS = \ lexgrog-1 \ man-1 man-2 man-3 \ manconv-1 manconv-2 manconv-3 \ - mandb-1 mandb-2 mandb-3 mandb-4 mandb-5 \ + mandb-1 mandb-2 mandb-3 mandb-4 mandb-5 mandb-6 \ zsoelim-1 @address@hidden = $(ALL_TESTS) diff -up trunk/src/tests/mandb-6.double-free-test trunk/src/tests/mandb-6 --- trunk/src/tests/mandb-6.double-free-test 2011-10-04 15:43:53.000000000 +0200 +++ trunk/src/tests/mandb-6 2011-10-04 15:38:57.000000000 +0200 @@ -0,0 +1,24 @@ +#! /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 + +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" +MANPATH="$tmpdir/usr/share/man" run $MANDB -C "$tmpdir/manpath.config" -u -q \ + "$tmpdir/usr/share/man" +# $? is deliberately expanded here. +expect_pass 'double free' "test $? -eq 0" + +finish