Fix leaks in REGRESSION
[pspp] / src / language / stats / regression.c
index 9974ea4c2c2155c140e072e48c8e27701b2e8033..9e1aba8815e22f173fab6042db2acf5b293e1cef 100644 (file)
@@ -267,6 +267,7 @@ subcommand_save (const struct regression *cmd)
 int
 cmd_regression (struct lexer *lexer, struct dataset *ds)
 {
+  int k;
   struct regression regression;
   const struct dictionary *dict = dataset_dict (ds);
 
@@ -403,12 +404,16 @@ cmd_regression (struct lexer *lexer, struct dataset *ds)
     subcommand_save (&regression);
  
 
+  for (k = 0; k < regression.n_dep_vars; k++)
+    linreg_free (regression.models[k]);
   free (regression.models);
   free (regression.vars);
   free (regression.dep_vars);
   return CMD_SUCCESS;
   
  error:
+  for (k = 0; k < regression.n_dep_vars; k++)
+    linreg_free (regression.models[k]);
   free (regression.models);
   free (regression.vars);
   free (regression.dep_vars);