Aggiornate le date nelle note di copyright
[gapil.git] / filestd.tex
index 9ff0123f341ff11801f94586b61471223bfd76df..db18e5d454230071849b1a7776ca788747c48d57 100644 (file)
@@ -1,9 +1,9 @@
 %% filestd.tex
 %%
 %% filestd.tex
 %%
-%% Copyright (C) 2000-2004 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2005 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
-%% Free Software Foundation; with the Invariant Sections being "Prefazione",
+%% Free Software Foundation; with the Invariant Sections being "Un preambolo",
 %% with no Front-Cover Texts, and with no Back-Cover Texts.  A copy of the
 %% license is included in the section entitled "GNU Free Documentation
 %% License".
 %% with no Front-Cover Texts, and with no Back-Cover Texts.  A copy of the
 %% license is included in the section entitled "GNU Free Documentation
 %% License".
@@ -747,9 +747,10 @@ viene restituito un \val{NULL}, ed il buffer \param{buf} non viene toccato.
 L'uso di \func{gets} è deprecato e deve essere assolutamente evitato; la
 funzione infatti non controlla il numero di byte letti, per cui nel caso la
 stringa letta superi le dimensioni del buffer, si avrà un \textit{buffer
 L'uso di \func{gets} è deprecato e deve essere assolutamente evitato; la
 funzione infatti non controlla il numero di byte letti, per cui nel caso la
 stringa letta superi le dimensioni del buffer, si avrà un \textit{buffer
-  overflow}\index{buffer overflow}, con sovrascrittura della memoria del
-processo adiacente al buffer.\footnote{questa tecnica è spiegata in dettaglio
-  e con molta efficacia nell'ormai famoso articolo di Aleph1 \cite{StS}.}
+  overflow}\index{\textit{buffer~overflow}}, con sovrascrittura della memoria
+del processo adiacente al buffer.\footnote{questa tecnica è spiegata in
+  dettaglio e con molta efficacia nell'ormai famoso articolo di Aleph1
+  \cite{StS}.}
 
 Questa è una delle vulnerabilità più sfruttate per guadagnare accessi
 non autorizzati al sistema (i cosiddetti \textit{exploit}), basta
 
 Questa è una delle vulnerabilità più sfruttate per guadagnare accessi
 non autorizzati al sistema (i cosiddetti \textit{exploit}), basta
@@ -870,14 +871,14 @@ come per entrambi i parametri si siano usati dei
 dei puntatori anziché i valori delle variabili, secondo la tecnica spiegata in
 sez.~\ref{sec:proc_var_passing}).
 
 dei puntatori anziché i valori delle variabili, secondo la tecnica spiegata in
 sez.~\ref{sec:proc_var_passing}).
 
-Se si passa alla funzione l'indirizzo di un puntatore impostato a \val{NULL}
-\var{*n} è zero, la funzione provvede da sola all'allocazione della memoria
+Se si passa alla funzione l'indirizzo di un puntatore impostato a \val{NULL} e
+\var{*n} è zero, la funzione provvede da sola all'allocazione della memoria
 necessaria a contenere la linea. In tutti i casi si ottiene dalla funzione un
 puntatore all'inizio del testo della linea letta. Un esempio di codice può
 necessaria a contenere la linea. In tutti i casi si ottiene dalla funzione un
 puntatore all'inizio del testo della linea letta. Un esempio di codice può
-essere il seguente:
-\includecodesnip{listati/getline.c}
-e per evitare memory leak\index{memory leak} occorre ricordarsi di liberare
-\var{ptr} con una \func{free}.
+essere il seguente: 
+\includecodesnip{listati/getline.c} 
+e per evitare memory leak\index{\textit{memory~leak}} occorre ricordarsi di
+liberare \var{ptr} con una \func{free}.
 
 Il valore di ritorno della funzione indica il numero di caratteri letti
 dallo stream (quindi compreso il newline, ma non lo zero di
 
 Il valore di ritorno della funzione indica il numero di caratteri letti
 dallo stream (quindi compreso il newline, ma non lo zero di
@@ -926,13 +927,14 @@ L'output formattato viene eseguito con una delle 13 funzioni della famiglia
 
   \bodydesc{Le funzioni ritornano il numero di caratteri stampati.}
 \end{functions}
 
   \bodydesc{Le funzioni ritornano il numero di caratteri stampati.}
 \end{functions}
-\noindent le prime due servono per stampare su file (lo standard output
-quello specificato) la terza permette di stampare su una stringa, in genere
+\noindent le prime due servono per stampare su file (lo standard output o
+quello specificato) la terza permette di stampare su una stringa, in genere
 l'uso di \func{sprintf} è sconsigliato in quanto è possibile, se non si ha la
 sicurezza assoluta sulle dimensioni del risultato della stampa, eccedere le
 dimensioni di \param{str}, con conseguente sovrascrittura di altre variabili e
 l'uso di \func{sprintf} è sconsigliato in quanto è possibile, se non si ha la
 sicurezza assoluta sulle dimensioni del risultato della stampa, eccedere le
 dimensioni di \param{str}, con conseguente sovrascrittura di altre variabili e
-possibili \textit{buffer overflow}\index{buffer overflow}; per questo motivo
-si consiglia l'uso dell'alternativa \funcd{snprintf}, il cui prototipo è:
+possibili \textit{buffer overflow}\index{\textit{buffer~overflow}}; per questo
+motivo si consiglia l'uso dell'alternativa \funcd{snprintf}, il cui prototipo
+è:
 \begin{prototype}{stdio.h}
 {snprintf(char *str, size\_t size, const char *format, ...)} 
   Identica a \func{sprintf}, ma non scrive su \param{str} più di
 \begin{prototype}{stdio.h}
 {snprintf(char *str, size\_t size, const char *format, ...)} 
   Identica a \func{sprintf}, ma non scrive su \param{str} più di
@@ -1116,7 +1118,8 @@ scritti sulla stringa di destinazione:
   Identica a \func{vsprintf}, ma non scrive su \param{str} più di
   \param{size} caratteri.
 \end{prototype}
   Identica a \func{vsprintf}, ma non scrive su \param{str} più di
   \param{size} caratteri.
 \end{prototype}
-\noindent in modo da evitare possibili buffer overflow\index{buffer overflow}.
+\noindent in modo da evitare possibili buffer
+overflow\index{\textit{buffer~overflow}}.
 
 
 Per eliminare alla radice questi problemi, le \acr{glibc} supportano una
 
 
 Per eliminare alla radice questi problemi, le \acr{glibc} supportano una
@@ -1145,7 +1148,7 @@ proposito dei \index{\textit{value~result~argument}}\textit{value result
   argument}) l'indirizzo della stringa allocata automaticamente dalle
 funzioni. Occorre inoltre ricordarsi di invocare \func{free} per liberare
 detto puntatore quando la stringa non serve più, onde evitare memory
   argument}) l'indirizzo della stringa allocata automaticamente dalle
 funzioni. Occorre inoltre ricordarsi di invocare \func{free} per liberare
 detto puntatore quando la stringa non serve più, onde evitare memory
-leak\index{memory leak}.
+leak\index{\textit{memory~leak}}.
 
 Infine una ulteriore estensione GNU definisce le due funzioni \func{dprintf} e
 \func{vdprintf}, che prendono un file descriptor al posto dello stream. Altre
 
 Infine una ulteriore estensione GNU definisce le due funzioni \func{dprintf} e
 \func{vdprintf}, che prendono un file descriptor al posto dello stream. Altre
@@ -1228,7 +1231,7 @@ punto prestabilito; sempre che l'operazione di riposizionamento sia supportata
 dal file sottostante lo stream, quando cioè si ha a che fare con quello che
 viene detto un file ad \textsl{accesso casuale}.\footnote{dato che in un
   sistema Unix esistono vari tipi di file, come le fifo ed i file di
 dal file sottostante lo stream, quando cioè si ha a che fare con quello che
 viene detto un file ad \textsl{accesso casuale}.\footnote{dato che in un
   sistema Unix esistono vari tipi di file, come le fifo ed i file di
-  dispositivo\index{file!di dispositivo}, non è scontato che questo sia sempre
+  dispositivo\index{file!di~dispositivo}, non è scontato che questo sia sempre
   vero.}
 
 In GNU/Linux ed in generale in ogni sistema unix-like la posizione nel file è
   vero.}
 
 In GNU/Linux ed in generale in ogni sistema unix-like la posizione nel file è