Fix leaks in REGRESSION
authorJohn Darrington <john@darrington.wattle.id.au>
Tue, 14 Aug 2012 19:49:26 +0000 (21:49 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Tue, 14 Aug 2012 19:49:26 +0000 (21:49 +0200)
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);