From: Jim Meyering Date: Mon, 11 Jan 2010 07:20:52 +0000 (+0100) Subject: tests: exercise the segfault fix X-Git-Tag: v1.4~1 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=3da56715dbc74c84b793f018a87e10992172f634;p=debian%2Fgzip tests: exercise the segfault fix * tests/helin-segv: New test. * Makefile.am (TESTS): Add it. --- diff --git a/Makefile.am b/Makefile.am index 67dc18b..ac95615 100644 --- a/Makefile.am +++ b/Makefile.am @@ -104,6 +104,7 @@ check-local: $(FILES_TO_CHECK) $(bin_PROGRAMS) gzip.doc.gz @echo 'Test succeeded.' TESTS = \ + tests/helin-segv \ tests/memcpy-abuse \ tests/trailing-nul \ tests/zdiff \ diff --git a/tests/helin-segv b/tests/helin-segv new file mode 100755 index 0000000..d6b14f6 --- /dev/null +++ b/tests/helin-segv @@ -0,0 +1,37 @@ +#!/bin/sh +# Before gzip-1.4, gzip -d would segfault on some inputs. + +# Copyright (C) 2010 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# limit so don't run it by default. + +if test "$VERBOSE" = yes; then + set -x + gzip --version +fi + +: ${srcdir=.} +. "$srcdir/tests/init.sh"; path_prepend_ . + +# This test case was provided by Aki Helin. +printf '\037\235\220\0\0\0\304' > helin.gz || framework_failure +printf '\0\0' > exp || framework_failure + +fail=0 + +gzip -dc helin.gz > out || fail=1 +compare out exp || fail=1 + +Exit $fail