Wrong return value in aarch64 disassembler operation_to_str() function
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- c
- Área
- reverse-engineering
Línea de trabajo
Localiza operation_to_str y aarch64_disassemble; después, inspecciona cómo se selecciona la cadena de la operación y cómo se gestiona NULL. Revisa test.c, que llama directamente a operation_to_str, y verifica las comprobaciones del enum y del array de cadenas. Está terminado cuando el comportamiento de retorno sea coherente con el de las demás funciones to-string sin romper el llamador directo existente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- C++
- Estrellas
- 1.3k
- Forks
- 297
- Merge medio
- 2 d 13 h
- PR fusionados (30 d)
- 16
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Vector35/binaryninja-api
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
Vector35/binaryninja-api#8540 ·
Los mantenedores suelen responder en 2 días
-
normalize time logs from WARPAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Vector35/binaryninja-api#8446 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Vector35/binaryninja-api#8444 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Vector35/binaryninja-api#8441 · 3 comentarios ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Vector35/binaryninja-api#8404 ·
Los mantenedores suelen responder en 2 días
Todos los issues de Vector35/binaryninja-api
Issues similares
-
bug
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
isl-org/Open3D#7585 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Unconfirmed bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
luanti-org/luanti#17605 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
area: config area: firmware priority: P2 - medium size: S type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Mizithra/ActiveTerrain#16 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
grumpycoders/pcsx-redux#2171 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 2 días