[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [CPROG] gets strengen



> Sune Fischer wrote:
> > 
> > > > char *linein;
> > tjoo, linein er på 300 bytes, så lange kommandoer kommer der ikke.
> Ikke ifølge det du har vist - så har du slet ikke allokeret noget plads
> til linein.

Du har ret, der står forkert, men jeg har erklæret den som linein[300] i programmet.
 
> Den læser max. det antal du specificerer eller indtil newline.
> Hele ideen er at du undgår buffer-overflow (crackers-delight).
> Du erstatter simpelthen 'gets(linein)' med:
> 'fgets(linein, 300, stdin)' og så har du lavet en sikrere
> implementation.

Okay det er rart at vide til en anden gang, men jeg er ikke urolig, Xboard kommer med en
detaljeret protocol beskrivelse, der bliver med garanti ikke overflow.
 
> Men selvfølgelig hvis du gerne vil spilde oceaner af mandtimer på at
> håndkode, så skal du da være velkommen - husk også at lave intensiv test
> på det du håndkoder.
> I tilgift får du jo så også formodentligt en væsentlig langsommere
> scanner end den du får 'gratis' fra flex.
> (Undskyld min sarkasme, men jeg kunne ikke lade være ...)

Hmm, kan godt være jeg bør kikke lidt på flex, nu virker det godt nok, 
fylder blot 34 linier i alt og tog vel omkring 30 min at skrive ;)

> PS Der er mange definitioner af portabilitet, men det er vist en helt
> anden diskussion - for mig betyder portabilitet, at koden følger
> internationale standarder som fx. ISO C, POSIX.
> - Av, der røg lige portabilitet til et par Win-platforme i svinget :-)

Av ja, så duer den ikke ;)

__________________________________________________
Do You Yahoo!?
Make international calls for as low as $.04/minute with Yahoo! Messenger
http://phonecard.yahoo.com/


 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:09 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *