X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Ffactor.c;h=ae42d406a6d9b17cead82e7cb2276e978c3ffda3;hb=a893ad180353823f3e123cd268d98026e5a31ed7;hp=9480b3a17a8ccc9947891e24a521c64d0e31c2d3;hpb=cc62e6937ff0410a356682b5757cf99788faa888;p=pspp diff --git a/src/language/stats/factor.c b/src/language/stats/factor.c index 9480b3a17a..ae42d406a6 100644 --- a/src/language/stats/factor.c +++ b/src/language/stats/factor.c @@ -266,10 +266,6 @@ idata_free (struct idata *id) gsl_vector_free (id->msr); gsl_vector_free (id->eval); gsl_matrix_free (id->evec); - if (id->mm.cov != NULL) - gsl_matrix_free (id->mm.cov); - if (id->mm.corr != NULL) - gsl_matrix_free (CONST_CAST (gsl_matrix *, id->mm.corr)); free (id); } @@ -1480,7 +1476,9 @@ cmd_factor (struct lexer *lexer, struct dataset *ds) { do_factor_by_matrix (&factor, id); + gsl_matrix_free (id->mm.corr); id->mm.corr = NULL; + gsl_matrix_free (id->mm.cov); id->mm.cov = NULL; } @@ -2215,6 +2213,9 @@ do_factor (const struct cmd_factor *factor, struct casereader *r) do_factor_by_matrix (factor, idata); finish: + gsl_matrix_free (idata->mm.corr); + gsl_matrix_free (idata->mm.cov); + idata_free (idata); casereader_destroy (r); }