-
Notifications
You must be signed in to change notification settings - Fork 8
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
Heap buffer overflow crash in Longtail_GetFilePermissions
#211
Heap buffer overflow crash in Longtail_GetFilePermissions
#211
Comments
Seems iffy, I'll see if I can get some time to debug. |
In the interim the crash can be worked around by having the application make sure the target path is always prefixed with \?\ before calling any longtail APIs -- this seems to avoid the per-file path patching code altogether. If you prefix with |
Found the issue, see #212 |
Yes that does look correct. Thanks for the fast fix! 🙏 |
Hi! Our studio has been using Longtail 0.3.6 to successfully deploy 100s of software packages/versions and TBs of data. Thanks for the great work!
Recently, a newly deployed package started crashing our in-house Launcher application (a standalone Slate app that wraps the C longtail lib in an Unreal C++ plugin).
I have been debugging this issue for a couple of days and something in the Long Path handling seems to crash. This is reproducible on every downsync of this particular package into this particular target directory. Specifying a shorter target directory avoids the crash -- presumably because the long path patching code path is never reached.
I am sure that syncing long paths has worked in the past however, so I am still a little confused.
The crash happens on
Longtail_Free
inLongtail_GetFilePermissions
:Expected
long_path
in the crashing call stack:Inspecting
long_path
in the VS debugger (for whatever that is worth) reveals the following, shorter, string:AddressSanitizer hints at
MakeLongPlatformPath
being the culprit:I hope to be able to take a deeper dive into the issue soon, but thought I would leave this information here in public until that time.
In the interim the crash can be worked around by having the application make sure the target path is always prefixed with
\\?\
before calling any longtail APIs -- this seems to avoid the per-file path patching code altogether.The text was updated successfully, but these errors were encountered: