Wrong return value in aarch64 disassembler operation_to_str() function
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
- Domínio
- reverse-engineering
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
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Vector35/binaryninja-api
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 88/100
Vector35/binaryninja-api#8540 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
Vector35/binaryninja-api#8446 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
Vector35/binaryninja-api#8444 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Vector35/binaryninja-api#8441 · 3 comentários ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Vector35/binaryninja-api#8404 ·
Mantenedores costumam responder em até 2 dias
Todas as issues de Vector35/binaryninja-api
Issues semelhantes
-
Dificuldade 2/5 Meio dia Facilidade para iniciantes 84/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 88/100
ROCm/rocm-libraries#12703 ·
Mantenedores costumam responder em até 2 dias
-
bug
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 88/100
isl-org/Open3D#7585 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
-
Feature request
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
qbittorrent/qBittorrent#24975 ·
Mantenedores costumam responder em até 3 dias