Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Wrong return value in aarch64 disassembler operation_to_str() function

Aberta Para iniciantes
#8,589 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 2 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
78/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
c

Direção de pesquisa

Localize operation_to_str e aarch64_disassemble e, em seguida, examine como a string da operação é selecionada e como NULL é tratado. Revise test.c, que chama operation_to_str diretamente, e verifique as verificações do enum e do array de strings. Está concluído quando o comportamento de retorno for consistente com o das outras funções to-string sem quebrar o chamador direto existente.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

The aarch64_get_operation calls operation_to_str which doesn't return a NULL value, as is common for other to string functions in the source code.

But aarch64_disassemble then verifies for NULL value here, which is always false:

	const char *operation = aarch64_get_operation(instruction);
	if (operation == NULL)
		return FAILED_TO_DISASSEMBLE_OPERATION;

I think the fix should be operation_to_str to return a NULL to keep API consistent. test.c calls it directly without checking for the NULL but it shouldn't be submitting wrong values because previous checks, as long the enum and the string array are in sync.

Linguagem predominante
C++
Estrelas
1.3k
Forks
297
Merge médio
2d 13h
PRs com merge (30d)
16

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de Vector35/binaryninja-api

Todas as issues de Vector35/binaryninja-api

Issues semelhantes

Mais issues de C++

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.