Pointer sweep can remove existing data variables when defining string variables

Open
#8,345 2 comments 0 reactions 1 assignee View on GitHub

@bdash is already working on this.

Since Jul 21, 2026.

Assessment

This issue has not been assessed yet.

Description

Component: Core Effort: Trivial

Version and Platform (required):

  • Binary Ninja Version: 5.4.10147-dev Ultimate, 9c231a95
  • OS: macos
  • OS Version: 26.5.2
  • CPU Architecture: arm64

Bug Description:
When pointer sweep finds a data word whose value points at a recognized string, it defines a string data variable at the target without checking whether a data variable already exists there. Since Analysis::DefineDataVariable erases overlapping auto data variables, this can result in a typed data variable created earlier (e.g. a header struct defined by a binary view during init) being silently removed.

Reported by a user on Slack.

The reproduction steps provided require a custom binary view plug-in.

Dominant language
C++
Stars
1.3k
Forks
298
Avg merge
5d 5h
Merged PRs (30d)
19

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Vector35/binaryninja-api

All issues in Vector35/binaryninja-api

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.