Ticket #5900: directory_iterator.patch

File directory_iterator.patch, 882 bytes (added by Andreas Eckleder <a.eckleder@…>, 11 years ago)

Patch fixing a potential access violation when trying to read defective directories / directories for which windows replies with an error code in FindNextFile().

  • libs/filesystem/v3/src/operations.cpp

    diff -dur boost_1_47_0_orig/libs/filesystem/v3/src/operations.cpp boost_1_47_0/libs/filesystem/v3/src/operations.cpp
    old new  
    19381938        filename, file_stat, symlink_file_stat);
    19391939
    19401940      if (temp_ec)
    1941       {
     1941      {           
     1942                path error_path = it.m_imp->dir_entry.path().parent_path();
    19421943        it.m_imp.reset();
    19431944        if (ec == 0)
    19441945          BOOST_FILESYSTEM_THROW(
    19451946            filesystem_error("boost::filesystem::directory_iterator::operator++",
    1946               it.m_imp->dir_entry.path().parent_path(),
     1947             error_path,
    19471948              error_code(BOOST_ERRNO, system_category())));
    19481949        ec->assign(BOOST_ERRNO, system_category());
    19491950        return;