From 13f583a2968837758d2e10207531e2117abac367 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Sat, 25 May 2013 20:53:31 +0200 Subject: [PATCH] Fix memory leak in LOGISTIC command --- src/language/stats/logistic.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/language/stats/logistic.c b/src/language/stats/logistic.c index 2c214516b7..9a9e4e91bf 100644 --- a/src/language/stats/logistic.c +++ b/src/language/stats/logistic.c @@ -741,6 +741,7 @@ lookup_variable (const struct hmap *map, const struct variable *var, unsigned in int cmd_logistic (struct lexer *lexer, struct dataset *ds) { + int i; /* Temporary location for the predictor variables. These may or may not include the categorical predictors */ const struct variable **pred_vars; @@ -1092,6 +1093,10 @@ cmd_logistic (struct lexer *lexer, struct dataset *ds) ok = proc_commit (ds) && ok; } + for (i = 0 ; i < lr.n_cat_predictors; ++i) + { + interaction_destroy (lr.cat_predictors[i]); + } free (lr.predictor_vars); free (lr.cat_predictors); free (lr.indep_vars); @@ -1100,6 +1105,10 @@ cmd_logistic (struct lexer *lexer, struct dataset *ds) error: + for (i = 0 ; i < lr.n_cat_predictors; ++i) + { + interaction_destroy (lr.cat_predictors[i]); + } free (lr.predictor_vars); free (lr.cat_predictors); free (lr.indep_vars); -- 2.30.2