diff options
-rw-r--r-- | src/messaging/maildirFolder.cpp | 9 |
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); } |