From: John Darrington Date: Wed, 5 Jan 2005 14:45:54 +0000 (+0000) Subject: Fixed bug #11307 X-Git-Tag: v0.4.0~205 X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8e4f17e8ae04936359e9e1837b5a42004609cb2b;p=pspp-builds.git Fixed bug #11307 --- diff --git a/src/ChangeLog b/src/ChangeLog index 801c825f..39ba57a4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +Wed Jan 5 22:42:26 WST 2005 John Darrington + + * case.h Fixed bug # 11307 + Wed Jan 5 08:30:48 WST 2005 John Darrington * val-labs.c Fixed bug which caused a crash if VALUE LABELS had diff --git a/src/case.h b/src/case.h index 7312aa94..6af3aaf8 100644 --- a/src/case.h +++ b/src/case.h @@ -131,10 +131,10 @@ case_copy (struct ccase *dst, size_t dst_idx, static inline void case_to_values (const struct ccase *c, union value *output, - size_t output_size UNUSED) + size_t output_size ) { memcpy (output, c->case_data->values, - c->case_data->value_cnt * sizeof *output); + output_size * sizeof *output); } static inline void diff --git a/tests/Makefile.am b/tests/Makefile.am index a2ae4090..9b2946ee 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -15,6 +15,7 @@ TESTS = \ command/file-label.sh \ command/filter.sh \ command/flip.sh \ + command/import-export.sh \ command/lag.sh \ command/list.sh \ command/loop.sh \ @@ -41,6 +42,7 @@ TESTS = \ command/use.sh \ command/weight.sh \ bugs/alpha-freq.sh \ + bugs/big-input.sh \ bugs/comment-at-eof.sh \ bugs/compute-fmt.sh \ bugs/crosstabs.sh \ diff --git a/tests/bugs/big-input.sh b/tests/bugs/big-input.sh new file mode 100755 index 00000000..84f7abef --- /dev/null +++ b/tests/bugs/big-input.sh @@ -0,0 +1,69 @@ +#!/bin/sh + +# This program tests for a bug which caused a crash when +# a large number of cases where presented. + + +TEMPDIR=/tmp/pspp-tst-$$ + +here=`pwd`; + +# ensure that top_srcdir is absolute +cd $top_srcdir; top_srcdir=`pwd` + +export STAT_CONFIG_PATH=$top_srcdir/config + + +cleanup() +{ + rm -rf $TEMPDIR +} + + +fail() +{ + echo $activity + echo FAILED + cleanup; + exit 1; +} + + +no_result() +{ + echo $activity + echo NO RESULT; + cleanup; + exit 2; +} + +pass() +{ + cleanup; + exit 0; +} + +mkdir -p $TEMPDIR + +cd $TEMPDIR + +activity="create program" +cat > $TEMPDIR/foo.sps < /dev/null +if [ $? -ne 1 ] ; then fail ; fi + +pass;