Wrong return value in aarch64 disassembler operation_to_str() function
Les mainteneurs répondent en général sous 2 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 78/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- c
- Domaine
- reverse-engineering
Piste de recherche
Localisez operation_to_str et aarch64_disassemble, puis examinez comment la chaîne de l’opération est sélectionnée et comment NULL est géré. Examinez test.c, qui appelle directement operation_to_str, et vérifiez les contrôles de l’enum et du tableau de chaînes. C’est terminé lorsque le comportement de retour est cohérent avec celui des autres fonctions to-string sans casser l’appelant direct existant.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- C++
- Étoiles
- 1.3k
- Forks
- 297
- Merge moyen
- 2 j 17 h
- PR mergées (30 j)
- 15
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Vector35/binaryninja-api
-
Difficulté 1/5 1-3 heures Accessibilité débutants 88/100
Vector35/binaryninja-api#8540 ·
Les mainteneurs répondent en général sous 2 jours
-
normalize time logs from WARPOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
Vector35/binaryninja-api#8446 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
Vector35/binaryninja-api#8444 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Vector35/binaryninja-api#8441 · 3 commentaires ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Vector35/binaryninja-api#8404 ·
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de Vector35/binaryninja-api
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
mpfaffenberger/privateer_reimagined#658 ·
Les mainteneurs répondent en général sous 1 jour
-
Broken links in the docsOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
microsoft/onnxruntime#33018 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
AXERA-TECH/ax-llm#81 ·
-
enhancement
Difficulté 2/5 Une demi-journée Accessibilité débutants 78/100
ros-industrial/ros2_canopen#448 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour