begin process at 2012 05 29 04:15:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

intercepter un overflow


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

intercepter un overflow

mardi 23 juillet 2002 à 15:38:03 | intercepter un overflow

dfrag

bonjour
je cherche a intercepter un depassement de buffer lors de la lecture d'un fichier ligne a ligne
(cf code ci dessous)
mais ca marche pas !!!!

# debut code
int main( void )
{
char ligne[256];

fstream MonFic ("c:\\temp\\test.txt");

if (! MonFic.is_open())
{
cout << "impossible d'ouvrir le fichier" << endl;
return 1;
}
while (! MonFic.eof() )
{
MonFic.getline (ligne,200);

if (strlen(ligne) < 256)
{
cout << ligne << endl;
}
if (strlen(ligne) >= 256)
{
cout << "overflow" << endl;
}
}
return 0;
}
#fin code

merci

dfrag
mardi 6 août 2002 à 13:15:22 | Re : intercepter un overflow

txprog

Salut !

OULA !!
Ne fais surtout pas ca !!
Je ne crois pas que tu puisses détecter un overflow comme tu dis, mais si tu créer un tableau de 256 caractère, il faut absolument ne pas en écrire + !!
La solution que je te propose est la suivante.
- Tu créée un pointeur 'p' d'une taille de 256 caractères.
- Tu lis avec Read (je crois) 255 caractères au maximum.
Si (la fonction te renvoie - de 255 caractères)
{
tu augmentes la taille de ton pointeur avec realloc par exemple.
et tu relis de nouveau.
}
sinon
{
c'est que tu est à la fin de ta ligne, donc il y a - de 255 caractères.
}

C'est juste pour te montrer, j'ai pas réfléchi à l'algo, voila.
Mais surtout ne PAS ECRIRE PLUS QUE LA TAILLE DE TON TABLEAU !!!!!

[TiTo];-P



-------------------------------
Réponse au message :
-------------------------------

bonjour
je cherche a intercepter un depassement de buffer lors de la lecture d'un fichier ligne a ligne
(cf code ci dessous)
mais ca marche pas !!!!

# debut code
int main( void )
{
char ligne[256];

fstream MonFic ("c:\\temp\\test.txt");

if (! MonFic.is_open())
{
cout << "impossible d'ouvrir le fichier" << endl;
return 1;
}
while (! MonFic.eof() )
{
MonFic.getline (ligne,200);

if (strlen(ligne) < 256)
{
cout << ligne << endl;
}
if (strlen(ligne) >= 256)
{
cout << "overflow" << endl;
}
}
return 0;
}
#fin code

merci

dfrag
vendredi 24 octobre 2003 à 13:04:31 | Re : intercepter un overflow

Daedal

On peut detecter un buffer overflow,
Pour cela il faut aller sur cette url :
http://www.k-otik.com/papers/Bugtraq_Fr_Buffers.pdf

Daedal


Cette discussion est classée dans : ligne, code, intercepter, overflow, monfic


Répondre à ce message

Sujets en rapport avec ce message

retour à la ligne [ par msoin ] 'jour, je debute en c++ et je fais quelques petits programmes pour voir comment ça marche.en l'occurence, celui ci:int main(){int loopcount;cout &lt effacer une ligne de l'ecran [ par amin79 ] Bonjour, Est ce qu'il y a une commende qui permet d'effacer une ligne de l'ecran ou une partie de la ligne. La commande delline(); ne marche pas avec Problème de lecture [ par Hades53 ] Voila, j'ai fait un code pour lire des fichiers qui marche, mais il y a un petit problème avec la dernière ligne du fichier qu'on veut lire:si la dern Editeur de code VS .NET VC++ [ par Koryn38 ] Hi, je cherche à comprendre pourquoi sous VStudio .NET, VC++, j'ai d'importants décalages, en mode debug notamment, entre la véritable ligne executée Incomprehension d'une ligne de code [ par LordBob ] Bonjour a tous,voila je regardais une source du site, une de Brunews sur les boites de dialogue de type login/pass... et il y a une partie de la sour Pb de structures, listes chainees !!! [ par flopflopp ] C encore moi , au vu de qq problème j'ai changé mes structures pour mon éditeur de texte :ma structure ligne est devenu la suivante :Code:struct ligne Je ne comprend pas l'usage '*' dans une ligne de code [ par kerberosca ] Je ne comprend pas la présence des '*' dans le code suivantstatic CPUProcessOutput* out[] = __gc new CPUProcessOutput*[1];surtout celui dans : CPUProc intercepter une interruption en C [ par Nol76 ] Bonjour tout le monde,Je programme avec LabWindows(langage c) et j'aimerais pouvoir traiter uneinterruption clavier car j'y ai branché un lecteur de c Fichier TXT dans textbox [ par nerone21 ] Bonjour a tt les codeurs...Lors voila mon probleme, je code avec visual C++ 2005 express et quel fut mon desarroi lorsque je me suis appercu ke nos ch IDE en ligne (avec compilation !) [ par Scraat ] Bonsoir,Nous lançons aujourd'hui un service qui je suis sûr intéressera beaucoup de développeurs : il s'agit un d'un éditeur de code en ligne (tout en


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales