Fixed bug allocating the memory in NPAR BINOMIAL
authorJohn Darrington <john@darrington.wattle.id.au>
Mon, 19 Jan 2009 07:50:54 +0000 (16:50 +0900)
committerJohn Darrington <john@darrington.wattle.id.au>
Mon, 19 Jan 2009 07:50:54 +0000 (16:50 +0900)
Thanks to Ben Pfaff for reporting this problem.

src/language/stats/binomial.c

index 15d0e4032a146c094e5275cd21f25cdfadc71afe..65fb22e624ab473fc09e7e434c01ec9524f2deeb 100644 (file)
@@ -158,16 +158,20 @@ binomial_execute (const struct dataset *ds,
 
   if ( bst->category1 != SYSMIS )
     {
+      int i;
       union value v;
       v.f = bst->category1;
-      cat1->value = value_dup (&v, 0);
+      for (i = 0; i < ost->n_vars; i++)
+       cat1[i].value = value_dup (&v, 0);
     }
 
   if ( bst->category2 != SYSMIS )
     {
+      int i;
       union value v;
       v.f = bst->category2;
-      cat2->value = value_dup (&v, 0);
+      for (i = 0; i < ost->n_vars; i++)
+       cat2[i].value = value_dup (&v, 0);
     }
 
   if (do_binomial (dataset_dict(ds), input, bst, cat1, cat2, exclude))