-
Notifications
You must be signed in to change notification settings - Fork 176
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use After Free Error // Heap Overflow #12
Comments
Yeah, sorry, accidentally I yesterday recognized, that the recursive_directory_iterator has some more issues, and since then work on a fix. I will use this ticket to track it. |
…ing endless iterations, wrong pop and depth handling and better input_iterator_tag and copy semantics.
Did run a test with the fixes over a tree with depth 16, ~700k files in ~5k directories with no error. Still will run more tests and will add a bunch of additional tests to the testsuite before I close this and tag the release on sunday. |
…ts on Windows due to not comparing generic format.
Okay, adding more test showed another issue when using pop(), that I just fixed. The version on master looks good and I ran sanitizer tests on macOS and Ubuntu with huge directory trees. |
Released with v1.1.2 |
Sadly I found an additional issue that could lead to a crash on Linux. All has to do with my old code trying to use readdir_r or readdir in a unified way depending on the system. That code has some issues and readdir_r is deprecated anyways, so I rework that code and add some performance boost for deep iterations on the way. Sorry for the short lived v1.1.2, expect an additional v1.1.3 at latest tomorrow. |
Reworked POSIX implementation with (tagged with wrong issue number, my bad): cc476ac |
Released with v1.1.4 |
Describe the bug
When using a debug build (-DCMAKE_BUILD_TYPE=Debug) and a recursive directory iterator. If the directory to iterate is fairly large, a use after free or heap overflow occurs
To Reproduce
directories
Expected behavior
After some execution you should see a crash located at filesystem.hpp:4570:
Additional context
For some reason it is listed as an
unknown-crash
but it has all the symptoms of a heap overflow or a use-after-free error.The text was updated successfully, but these errors were encountered: