- this missing dd_close() causes trac#608

Signed-off-by: Jakub Filak <[email protected]>
---
 src/lib/create_dump_dir.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/lib/create_dump_dir.c b/src/lib/create_dump_dir.c
index 175cb61..2195a80 100644
--- a/src/lib/create_dump_dir.c
+++ b/src/lib/create_dump_dir.c
@@ -171,12 +171,15 @@ LibreportError 
save_dump_dir_from_problem_data(problem_data_t *problem_data, cha
     VERB2 log("Renaming from'%s' to '%s'", dd->dd_dirname, new_path);
     if (dd_rename(dd, new_path) != 0)
     {
+        free(new_path);
+        dd_close(dd);
+
         free(*problem_id);
         *problem_id = NULL;
         return LR_ERROR;
     }
-    free(new_path);
 
+    free(new_path);
     dd_close(dd);
 
     return LR_OK;
-- 
1.7.10.2

Reply via email to