diff options
author | Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com> | 2017-09-20 02:11:38 +0300 |
---|---|---|
committer | Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com> | 2017-09-20 02:11:38 +0300 |
commit | 552867a000005b13d170c6cbd36ab0f476d9f805 (patch) | |
tree | 2dd9d8e8bed00034fc48627ccb7379db49d9810c | |
parent | 5e0683d452700941c589f10dcfb8ead5409ed20d (diff) |
Fix UB where we were accidentally storing a directory_handle as a path_handle in path_discovery.
-rw-r--r-- | include/afio/revision.hpp | 6 | ||||
-rw-r--r-- | include/afio/v2.0/detail/impl/path_discovery.ipp | 4 | ||||
-rw-r--r-- | release_notes.md | 1 |
3 files changed, 6 insertions, 5 deletions
diff --git a/include/afio/revision.hpp b/include/afio/revision.hpp index 83d53599..03a4292f 100644 --- a/include/afio/revision.hpp +++ b/include/afio/revision.hpp @@ -1,4 +1,4 @@ // Note the second line of this file must ALWAYS be the git SHA, third line ALWAYS the git SHA update time -#define AFIO_PREVIOUS_COMMIT_REF f5497721f650a6171f0643cb7a81e3b236da9a23 -#define AFIO_PREVIOUS_COMMIT_DATE "2017-09-19 02:23:42 +00:00" -#define AFIO_PREVIOUS_COMMIT_UNIQUE f5497721 +#define AFIO_PREVIOUS_COMMIT_REF 5e0683d452700941c589f10dcfb8ead5409ed20d +#define AFIO_PREVIOUS_COMMIT_DATE "2017-09-19 22:35:48 +00:00" +#define AFIO_PREVIOUS_COMMIT_UNIQUE 5e0683d4 diff --git a/include/afio/v2.0/detail/impl/path_discovery.ipp b/include/afio/v2.0/detail/impl/path_discovery.ipp index e953d35d..b201112e 100644 --- a/include/afio/v2.0/detail/impl/path_discovery.ipp +++ b/include/afio/v2.0/detail/impl/path_discovery.ipp @@ -45,14 +45,14 @@ namespace path_discovery filesystem::path path; size_t priority{0}; std::string fstypename; - path_handle h; // not retained after verification + directory_handle h; // not retained after verification _discovered_path(filesystem::path _path) : path(std::move(_path)) { } }; std::vector<_discovered_path> _all; - path_handle storage_backed, memory_backed; + directory_handle storage_backed, memory_backed; }; inline _store &path_store() { diff --git a/release_notes.md b/release_notes.md index fa3fcfe8..c09207d5 100644 --- a/release_notes.md +++ b/release_notes.md @@ -132,6 +132,7 @@ ctest -C Release -R afio_sl | ✔ | | Path views used throughout, thus avoiding string copying and allocation in `std::filesystem::path`. | ✔ | | Paths are equally interpreted as UTF-8 on all platforms. | ✔ | | We never store nor retain a path, as they are inherently racy and are best avoided. +| ✔ | ✔ | Parent handle caching is hard coded in, it is now an optional user applied templated adapter class. Todo: |