table: Fix memory leak.
authorBen Pfaff <blp@cs.stanford.edu>
Sun, 21 Feb 2016 04:29:38 +0000 (20:29 -0800)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 21 Feb 2016 04:29:38 +0000 (20:29 -0800)
table_create_nested_item() was documented to take ownership of its
argument but in fact it took a reference on it, creating a leak.

Found by valgrind.
Reported by John Darrington.
Bug #47074.

src/output/table.c

index 0667c067350ac0730a97a650ffe4e0d35f1d35df..e354bb3edfc540a9b920a61e68a3e59fe773d411 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2009, 2011, 2014 Free Software Foundation, Inc.
+   Copyright (C) 2009, 2011, 2014, 2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -367,7 +367,7 @@ table_create_nested_item (struct table_item *inner)
   struct table_nested *tn = xmalloc (sizeof *tn);
   table_init (&tn->table, &table_nested_class);
   tn->table.n[TABLE_HORZ] = tn->table.n[TABLE_VERT] = 1;
-  tn->inner = table_item_ref (inner);
+  tn->inner = inner;
   return &tn->table;
 }