Fixed a crash in the oneway command
authorJohn Darrington <john@darrington.wattle.id.au>
Fri, 7 Oct 2011 11:28:19 +0000 (13:28 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Fri, 7 Oct 2011 11:28:19 +0000 (13:28 +0200)
src/math/covariance.c
tests/language/stats/oneway.at

index f64e89d1eb2ffbee673c2179e6d2e48b78d066f3..aa4a4b8ac0358982dbdf13691a4c495d20d6e473 100644 (file)
@@ -356,7 +356,7 @@ covariance_accumulate_pass2 (struct covariance *cov, const struct ccase *c)
        cov->dim += categoricals_df_total (cov->categoricals);
 
       cov->n_cm = (cov->dim * (cov->dim - 1)  ) / 2;
        cov->dim += categoricals_df_total (cov->categoricals);
 
       cov->n_cm = (cov->dim * (cov->dim - 1)  ) / 2;
-      cov->cm = xcalloc (sizeof *cov->cm, cov->n_cm);
+      cov->cm = xcalloc (cov->n_cm, sizeof *cov->cm);
 
       /* Grow the moment matrices so that they're large enough to accommodate the
         categorical elements */
 
       /* Grow the moment matrices so that they're large enough to accommodate the
         categorical elements */
index ce121beb977dac2bda33886450fd4689d24e09e9..c824d9a49394f975bef6dee5da76f482d439507e 100644 (file)
@@ -900,4 +900,24 @@ temperature,Assume equal variances,1,-.98,2.74,.36,6,.73
 ,,3,-8.83,18.66,-.47,4.19,1.34
 ])
 
 ,,3,-8.83,18.66,-.47,4.19,1.34
 ])
 
+AT_CLEANUP
+
+
+AT_SETUP([ONEWAY crash on single category independent variable])
+AT_DATA([crash.sps],[
+input program.
+loop #i = 1 to 10.
+compute test = #i.
+end case.
+end loop.
+end file.
+end input program.
+
+compute x = 1.
+
+oneway test by x.
+])
+
+AT_CHECK([pspp -O format=csv crash.sps], [0], [ignore])
+
 AT_CLEANUP
\ No newline at end of file
 AT_CLEANUP
\ No newline at end of file