Lines Matching +full:non +full:- +full:zero

1 .. SPDX-License-Identifier: GPL-2.0
3 .. include:: ../disclaimer-ita.rst
18 le tempistiche, non è sempre possibile fare questo tipo di conversione tutta
26 ------------
28 `non produce più alcun avviso durante la compilazione
33 interfaccia come 'vecchia', questa non è una soluzione completa. L'interfaccia
38 ----------------
50 <https://lore.kernel.org/lkml/CA+55aFy6jNLsywVYdGp83AMrXBo_P-pkjkphPGrO=82SPKCpLQ@mail.gmail.com/>`…
52 <https://lore.kernel.org/lkml/CAHk-=whDHsbK3HTOpTF=ue_o04onRwTEaK_ZoJp_fjbqq4+=Jw@mail.gmail.com/>`_
65 ----------------------------------------------------
66 Il calcolo dinamico delle dimensioni (specialmente le moltiplicazioni) non
75 Per esempio, non usate ``count * size`` come argomento::
86 Se questo tipo di allocatore non è disponibile, allora dovrebbero essere usate
87 le funzioni del tipo *saturate-on-overflow*::
94 header = kzalloc(sizeof(*header) + count * sizeof(*header->item),
102 in coda contiene un array di lunghezza zero o uno, allora siete
104 `flexible array member <#zero-length-and-one-element-arrays>`_.
109 foo = krealloc(current_size + chunk_size * (count - 3), GFP_KERNEL);
122 ----------------------------------------------------------------------
132 --------
133 La funzione strcpy() non fa controlli agli estremi del buffer
137 a ridurne il rischio, non c'è alcuna buona ragione per continuare ad usare
140 ritorno di strcpy(). La funzione strscpy() non ritorna un puntatore
141 alla destinazione, ma un contatore dei byte non NUL copiati (oppure
145 --------------------------------------
146 L'utilizzo di strncpy() non fornisce alcuna garanzia sul fatto che
155 non ritorna un puntatore alla destinazione, ma un contatore dei byte
156 non NUL copiati (oppure un errno negativo se la stringa è stata
162 marchiati con l'attributo `__nonstring <https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attribut…
166 ---------
169 è inefficiente e può portare a overflow di lettura quando la stringa non è
176 --------------------------------------
182 rendendolo di fatto inutilizzabile. Nuovi usi di "%p" non dovrebbero
185 simbolo. Per tutto il resto, semplicemente non usate "%p".
191 - Se il valore hash di "%p" è inutile, chiediti se il puntatore stesso
193 - Se credi davvero che il vero valore del puntatore sia importante,
207 ------------------------------------
219 Salto implicito nell'istruzione switch-case
220 -------------------------------------------
224 corrente. Tuttavia questo rende il codice ambiguo perché non è sempre ovvio se
226 osservando il seguente pezzo di codice non è chiaro se lo stato
240 "break" <https://cwe.mitre.org/data/definitions/484.html>`_, oggigiorno non
241 permettiamo più che vi sia un "salto implicito" (*fall-through*). Per
245 <https://gcc.gnu.org/onlinedocs/gcc/Statement-Attributes.html>`_.
263 Array di lunghezza zero o con un solo elemento
264 ----------------------------------------------
269 tecnica degli array a lunghezza nulla o di un solo elemento non
285 <https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html>`_ che
286 permettesse la dichiarazione di array a lungezza zero::
293 Ma questo ha portato nuovi problemi, e non ha risolto alcuni dei
300 Lo standard C99 introduce i "flexible array members". Questi array non
310 al compilatore di produrre errori quando gli array flessibili non si
316 e `CONFIG_UBSAN_BOUNDS`). Per esempio, non esiste alcun meccanismo in
318 zero come risultato::
328 instance->count = count;
330 size = sizeof(instance->items) * instance->count;
331 memcpy(instance->items, source, size);
333 Il valore di ``size`` nell'ultima riga sarà ``zero``, quando uno
341 sizeof() non può essere applicato
342 <https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html>`_; dunque ogni
349 <https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html>`_, e quindi
362 instance = kmalloc(struct_size(instance, items, count - 1), GFP_KERNEL);
363 instance->count = count;
365 size = sizeof(instance->items) * instance->count;
366 memcpy(instance->items, source, size);
368 In questo esempio ci siamo dovuti ricordare di usare ``count - 1`` in
369 struct_size(), altrimenti avremmo --inavvertitamente-- allocato
382 instance->count = count;
384 memcpy(instance->items, source, flex_array_size(instance, items, instance->count));
389 struttura, e l'altro quando è parte di un unione. Per motivi non tecnici, entrambi
390 i casi d'uso non sono permessi dalla specifica C99. Per esempio, per