From b50e4949e076515328be62bb431067611eb94ad8 Mon Sep 17 00:00:00 2001
From: John Darrington <john@darrington.wattle.id.au>
Date: Wed, 22 Aug 2012 06:46:18 +0200
Subject: [PATCH] Fix memory leak in sys-file-reader.c

---
 src/data/sys-file-reader.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/data/sys-file-reader.c b/src/data/sys-file-reader.c
index 2b6fa98ad7..4a7476ae04 100644
--- a/src/data/sys-file-reader.c
+++ b/src/data/sys-file-reader.c
@@ -547,7 +547,10 @@ sfm_open_reader (struct file_handle *fh, const char *volatile encoding,
 
   *dictp = dict;
   if (infop != info)
-    sfm_read_info_destroy (info);
+    {
+      sfm_read_info_destroy (info);
+      free (info);
+    }
 
   return casereader_create_sequential
     (NULL, r->proto,
@@ -555,7 +558,12 @@ sfm_open_reader (struct file_handle *fh, const char *volatile encoding,
                                        &sys_file_casereader_class, r);
 
 error:
-  sfm_read_info_destroy (info);
+  if (infop != info)
+    {
+      sfm_read_info_destroy (info);
+      free (info);
+    }
+
   close_reader (r);
   dict_destroy (dict);
   *dictp = NULL;
-- 
2.30.2