Path: csiph.com!news.redatomik.org!aioe.org!.POSTED!not-for-mail From: Giuseppe Della Bianca Newsgroups: it.comp.os.linux.development Subject: Re: Linea di comando per gcc Date: Sat, 03 Jun 2017 14:51:49 +0200 Organization: Aioe.org NNTP Server Lines: 36 Message-ID: <60oa0e-a78.ln1@exnet.gdb.it> References: NNTP-Posting-Host: QAj+dz9/w9d2y9yq/WXoWQ.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7Bit X-Complaints-To: abuse@aioe.org User-Agent: KNode/4.14.10 X-Notice: Filtered by postfilter v. 0.8.2 Xref: csiph.com it.comp.os.linux.development:30 guido84 wrote: ]zac[ > Cosi', per evitare il $2 = terzo argomento della riga, ho tolto > la condizione e va perfettamente. ]zac[ E quello che hai ottenuto e di avere un programma pronto per un accesso fuori dalla memoria, hai presente i bug che usano i cracker per bucare i sistemi degli altri. Il vettore argv e' popolato in base hai parametri passati, il resto contiene dati non sicuri (dipende al contenuto della memoria in quel momento). Prima di leggere argv bisogna controllare leggere argc per sapere il numero di item presenti in argv . Nel tuo caso il test avrebbe dovuto essere argc == 2 o argc >= 2. E' vero che stai facendo un programma di prova, ma tieni conto che se non si tiene conto continuamente dei problemi di sicurezza e solidita', dopo che il programma e' cresciuto o si e' assunto uno stile di programmazione, e' molto difficile correggerlo e correggersi. P.S. Se non hai motivazione particolari per usare solo il C, e' saggio imparare il C++. Personalmente trovo uno spreco di tempo inutile doversi sempre preoccupare di puntatori, dimensione dei vettori, di stringhe, di strutture complesse, sfugge sempre qualcosa.