diff -dur boost_1_47_0_orig/libs/filesystem/v3/src/operations.cpp boost_1_47_0/libs/filesystem/v3/src/operations.cpp --- boost_1_47_0_orig/libs/filesystem/v3/src/operations.cpp 2011-06-28 15:24:10.000000000 +0200 +++ boost_1_47_0/libs/filesystem/v3/src/operations.cpp 2011-09-14 10:23:08.143512700 +0200 @@ -1938,12 +1938,13 @@ filename, file_stat, symlink_file_stat); if (temp_ec) - { + { + path error_path = it.m_imp->dir_entry.path().parent_path(); it.m_imp.reset(); if (ec == 0) BOOST_FILESYSTEM_THROW( filesystem_error("boost::filesystem::directory_iterator::operator++", - it.m_imp->dir_entry.path().parent_path(), + error_path, error_code(BOOST_ERRNO, system_category()))); ec->assign(BOOST_ERRNO, system_category()); return;