[Linux-Biella] programmino in C con errori

marcello m.tescari a bilug.linux.it
Ven 25 Lug 2008 18:40:40 CEST



Il giorno ven, 25/07/2008 alle 14.34 +0200, Marco Vallini ha scritto:
> ciao,
> premetto che ho dato un'occhiata veloce, mi sembra perņ che il vettore
> di char[10] dovrebbe avere il terminatore '\0' in ultima posizione
> quindi cmq potresti utilizzare fino a 9 caratteri effettivi. Se
> volessi una chiave di 10, devi mettere chiave[11] e sarebbe buona
> norma mettere in chiave[10] = '\0'; se vettore č lungo 11, invece come
> nel codice chiave[9]='\0';
> ciau
> 
> 2008/7/25 marcello <m.tescari a bilug.linux.it>:
>         Ciao, oggi un mio amico mi ha passato un programmino in C che
>         ha fatto
>         per la scuola e che a lui, compilato e utilizzato su M$ winzoz
>         non ha
>         mai dato problemi.
>         mi passa il sorgente, che allego qua sotto (gia adattato per
>         linux da
>         me), lo compilo e lo eseguo.
>         Se inserisco una chiave di codifica inferiore ai 10 caratteri
>         il
>         programma si comporta adeguatamente.
>         Altrimenti mi da i seguenti errori.
>         --------------------------------------------------------------------------------------
>         marcello a starlight:~/Desktop$ ./crittografia.o
>         Inserire nome file origine
>         ale.txt
>         Inserire nome file destinazione
>         cripto.txt
>         Inserire opzione c/d
>         c
>         Inserire chiave di crittografia
>         alsmgun45mjk34h
>         *** stack smashing detected ***: ./crittografia.o terminated
>         ======= Backtrace: =========
>         /lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x48)[0xb7efc138]
>         /lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x0)[0xb7efc0f0]
>         ./crittografia.o[0x80487d9]
>         /lib/tls/i686/cmov/libc.so.6(__libc_start_main
>         +0xe0)[0xb7e25450]
>         ./crittografia.o[0x8048581]
>         ======= Memory map: ========
>         08048000-08049000 r-xp 00000000 08:05
>         453024     /home/marcello/Desktop/crittografia.o
>         08049000-0804a000 rw-p 00000000 08:05
>         453024     /home/marcello/Desktop/crittografia.o
>         0804a000-0806b000 rw-p 0804a000 00:00 0          [heap]
>         b7e0e000-b7e0f000 rw-p b7e0e000 00:00 0
>         b7e0f000-b7f58000 r-xp 00000000 08:01
>         1685232    /lib/tls/i686/cmov/libc-2.7.so
>         b7f58000-b7f59000 r--p 00149000 08:01
>         1685232    /lib/tls/i686/cmov/libc-2.7.so
>         b7f59000-b7f5b000 rw-p 0014a000 08:01
>         1685232    /lib/tls/i686/cmov/libc-2.7.so
>         b7f5b000-b7f5e000 rw-p b7f5b000 00:00 0
>         b7f69000-b7f73000 r-xp 00000000 08:01 1651573
>          /lib/libgcc_s.so.1
>         b7f73000-b7f74000 rw-p 0000a000 08:01 1651573
>          /lib/libgcc_s.so.1
>         b7f74000-b7f78000 rw-p b7f74000 00:00 0
>         b7f78000-b7f79000 r-xp b7f78000 00:00 0          [vdso]
>         b7f79000-b7f93000 r-xp 00000000 08:01 1651570
>          /lib/ld-2.7.so
>         b7f93000-b7f95000 rw-p 00019000 08:01 1651570
>          /lib/ld-2.7.so
>         bfd55000-bfd6a000 rw-p bffeb000 00:00 0          [stack]
>         Aborted
>         ---------------------------------------------------------------------------------------
>         Son su ubuntu 8.04 e ho utilizzato il compilatore gia presente
>         
>         
>         Grazie infinite
>         
>         Marcello
>         
>         _______________________________________________
>         Linux mailing list
>         Linux a ml.bilug.linux.it
>         http://ml.bilug.linux.it/mailman/listinfo/linux
> 
> 
> 
> -- 
> Marco Vallini
> Email: marcovallini a gmail.com
> Web: marcovallini.googlepages.com
> Mobile: (+39) 320 0966636
> Mobile: (+39) 334 2025180
> Biella - Italy
> _______________________________________________
> Linux mailing list
> Linux a ml.bilug.linux.it
> http://ml.bilug.linux.it/mailman/listinfo/linux

Avete ragione. scusate ma io ho guardato solo dove linux mi dava errori
di comandi non conosciuti.
grazie lo stesso.

ciao



Maggiori informazioni sulla lista Linux