aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/messaging/maildirFolder.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/messaging/maildirFolder.cpp b/src/messaging/maildirFolder.cpp
index 4bf1fcfb..54d35989 100644
--- a/src/messaging/maildirFolder.cpp
+++ b/src/messaging/maildirFolder.cpp
@@ -226,7 +226,7 @@ void maildirFolder::create(const int type)
}
catch (exceptions::filesystem_exception& e)
{
- throw exceptions::command_error("CREATE", e.what(), "File system exception");
+ throw exceptions::command_error("CREATE", "", "File system exception", e);
}
// Notify folder created
@@ -461,6 +461,13 @@ std::vector <folder*> maildirFolder::getFolders(const bool recursive)
throw;
}
+ catch (vmime::exception&)
+ {
+ for (std::vector <folder*>::iterator it = list.begin() ; it != list.end() ; ++it)
+ delete (*it);
+
+ throw;
+ }
return (list);
}