Fix use-after-free errors.
[pspp] / src / data / casewriter-translator.c
index e80b9d68187b3f65e33b35051b0b6d891ca5f312..ef3040688716958c321cb7f274df03ef8699cce6 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009, 2011 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
 
 #include <config.h>
 
-#include <data/casewriter.h>
-#include <data/casewriter-provider.h>
+#include "data/casewriter.h"
+#include "data/casewriter-provider.h"
 
 #include <stdlib.h>
 
-#include <libpspp/taint.h>
+#include "libpspp/taint.h"
 
-#include "xalloc.h"
+#include "gl/xalloc.h"
 
 struct casewriter_translator
   {
@@ -100,8 +100,8 @@ casewriter_translator_convert_to_reader (struct casewriter *writer UNUSED,
 {
   struct casewriter_translator *ct = ct_;
   struct casereader *reader = casewriter_make_reader (ct->subwriter);
-  free (ct);
   ct->destroy (ct->aux);
+  free (ct);
   return reader;
 }