X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fregression.q;h=7b02e4b9dcfdaed3dc669efdbc5129071cc28d97;hb=c806348911641248369536c11e48ed59757865da;hp=c10cc59e1f75409cea4bdd54153133024c0e1ff8;hpb=7ee429e606ed6e711cf8ddd10143e6e9e6bd0dd0;p=pspp diff --git a/src/language/stats/regression.q b/src/language/stats/regression.q index c10cc59e1f..7b02e4b9dc 100644 --- a/src/language/stats/regression.q +++ b/src/language/stats/regression.q @@ -968,6 +968,8 @@ cmd_regression (struct lexer *lexer, struct dataset *ds) subcommand_save (ds, cmd.sbc_save, models); free (v_variables); free (models); + free_regression (&cmd); + return ok ? CMD_SUCCESS : CMD_FAILURE; } @@ -1136,7 +1138,10 @@ run_regression (struct casereader *input, struct cmd_regression *cmd, assert (models != NULL); if (!casereader_peek (input, 0, &c)) - return true; + { + casereader_destroy (input); + return true; + } output_split_file_values (ds, &c); case_destroy (&c); @@ -1196,8 +1201,6 @@ run_regression (struct casereader *input, struct cmd_regression *cmd, lopts.get_indep_mean_std[i] = 1; } models[k] = pspp_linreg_cache_alloc (X->m->size1, X->m->size2); - models[k]->indep_means = gsl_vector_alloc (X->m->size2); - models[k]->indep_std = gsl_vector_alloc (X->m->size2); models[k]->depvar = dep_var; /* For large data sets, use QR decomposition.