EricZimmerman / EricZimmerman/KapeFiles
Unhandled Exception: Alphaleonis.Win32.Filesystem.UnrecognizedReparsePointException
- Dominant language
- No language data
- Stars
- 874
- Forks
- 234
- Avg merge
- 1h 46m
- Merged PRs (30d)
- 10
Description
**KAPE version**
Kape version 1.3.0.2
**Describe the bug**
When running a collection that involves collecting the RecycleBin, I will run into the following error:
```
Unhandled Exception: Alphaleonis.Win32.Filesystem.UnrecognizedReparsePointException: (4392) The data present in the reparse point buffer is invalid: [C:\$Recycle.Bin\\$RRDUOZY]
at Alphaleonis.Win32.Filesystem.Device.GetLinkTargetInfo(SafeFileHandle safeHandle, String reparsePath) in C:\Users\jjangli\Documents\GitHub\AlphaFS\AlphaFS\Device\Device.cs:line 469
at Alphaleonis.Win32.Filesystem.File.GetLinkTargetInfoCore(KernelTransaction transaction, String reparsePath, Boolean continueOnException, PathFormat pathFormat) in C:\Users\jjangli\Documents\GitHub\AlphaFS\AlphaFS\Filesystem\File Class\File.GetLinkTargetInfo.cs:line 111
at kape.Classes.Helpers.ResolveReparsePoints(String dir)
at kape.Classes.Helpers.ExpandDirectory(String dir)
at kape.Classes.Helpers.ExpandDirectory(String dir)
at kape.Program.ExpandTarget(Target target)
at kape.Program.ProcessTarget(Target target, String startDirectory, Double targetVersion)
at kape.Program.LoadTargetFile(TargetCollection targetFile)
at kape.Program.LoadTargetFile(TargetCollection targetFile)
at kape.Program.LoadTargetFile(TargetCollection targetFile)
at kape.Program.Main(String[] args)
```
**To Reproduce**
Steps to reproduce the behavior:
Run kape with the following arguments:
`--tflush --target RecycleBin,WebBrowsers`
**Expected behavior**
The collection of the items in the recycle bin should complete.
**Screenshots**
**Additional context**
Contributor guide
Research direction
Start by reproducing the issue with `--tflush --target RecycleBin,WebBrowsers`, then trace `kape.Classes.Helpers.ResolveReparsePoints(String dir)` through `ExpandDirectory` and `Program.ExpandTarget`. Use the stack trace and the `$Recycle.Bin\\$RRDUOZY` path to investigate the failure; done means collecting RecycleBin items completes without an unhandled exception.
Written by the indexing model from the issue text.
Assessment
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100