Bonjour à tous,
J'ai un programme en C que j'arrive pas à debugger depuis plusieurs jours. J'ai une erreur de segmentation à la ligne 6 avec gdb (fonction fgets).
Je m'explique:
c'est un TP que je dois réaliser. Le code a été écris par quelqu'un d'autre et moi j'ai qu'un droit de lecture sur le fichier source (le fichier étant déjà compilé) et je peux aussi le debugger.
Le but pour moi c'est de pouvoir retrouver le contenu du "buffer" sachant que je ne peux pas lire le fichier ".passwd"
Or nul été le fait que j'ai une erreur de segmentation à la ligne 6, j'aurai pu faire un break avec gdb sur la ligne 7 et faire un "print buffer" pour voir le contenu du buffer.
Or là j'ai un problème de segmentation sur la ligne et je ne peux modifier le fichier.
Si quelqu'un a une idée, merci
Merci pour votre aide et voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #include <stdio.h> #include <unistd.h> int main(int argc, char *argv[]){ FILE *secret = fopen("/challenge/binary/binary5/.passwd", "rt"); char buffer[32]; fgets(buffer, sizeof(buffer), secret); printf(argv[1]); fclose(secret); return 0; }
Partager