Skip to content

Project creation/file import fails silently with long project names, no path length validation before hitting Windows path limit #8445

Description

@Weitao-Sun

Version and Platform (required):

  • Binary Ninja Version: 6.0.10474-dev Ultimate (c9ea4d90)
  • Edition: Ultimate
  • OS: Windows 11 Pro
  • OS Version: 10.0.26200 (Build 26200)
  • CPU Architecture: x64 (AMD64 Family 25 Model 97, running under QEMU/Proxmox virtualization)

Bug Description:
Binary Ninja does not validate the resulting file system path length when creating a project with a long project name. This can cause project creation or file import to fail with no clear indication to the user of why:

  • If the project name is around 250 characters, project creation itself fails.
  • If the project name is around 200 characters, the project is created successfully, but importing a file into the project fails.

The underlying cause may be related to the Windows path length limit (paths exceeding 250 characters generally cause errors on Windows), though this is a guess based on the character counts observed and has not been confirmed.

Steps To Reproduce:

  1. In Binary Ninja, start creating a new project
  2. Set the project name to a string approximately 250 characters long
  3. Attempt to create the project
  4. Observe that project creation fails (see log output below)
  5. Repeat with a project name approximately 200 characters long
  6. Observe that the project is created successfully
  7. Attempt to import a file into the project
  8. Observe that the file import fails (see log output below)

Expected Behavior:
Binary Ninja should validate project name/path length before attempting to create the project directory or copy files, and should give the user a clear, actionable error (e.g. "project name too long") rather than failing with a low-level filesystem error, or should otherwise handle long paths without failing.

Relevant log output:

[Default] copy_file: The system cannot find the path specified.: "C:/Users/vector35/Downloads/helloworld_thread.exe", "C:\Users\vector35\Downloads\12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.bnpr\data\9a\7f3cf5-984d-4d15-9357-a5b2bd5197e6"
[Projects] Failed creating project due to filesystem error: create_directories: The system cannot find the path specified.: "C:\Users\vector35\Downloads\1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.bnpr\"
[MainWindow] Failed to create project
[MainWindow] Checking for plugin updates...
[Default] copy_file: The system cannot find the path specified.: "C:/Users/vector35/Downloads/helloworld_thread.exe", "C:\Users\vector35\Downloads\12345679801234567980123456798012345679801234567980123456798012345679801234567980123456798012345679801234567980123456798012345679801234567980123456798012345679801234567980123456798012345679801234567980.bnpr\data\34\70bf80-6783-41ed-bdcb-8ad4c9fec4d2"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions