.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (C) 2017 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH bzero 3 "31 octombrie 2023" "Pagini de manual de Linux 6.06" .SH NUME bzero, explicit_bzero \- aduce la zero un șir de octeți .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#include \fP .P \fBvoid bzero(void \fP\fIs\fP\fB[.\fP\fIn\fP\fB], size_t \fP\fIn\fP\fB);\fP .P \fB#include \fP .P \fBvoid explicit_bzero(void \fP\fIs\fP\fB[.\fP\fIn\fP\fB], size_t \fP\fIn\fP\fB);\fP .fi .SH DESCRIERE Funcția \fBbzero\fP() șterge datele din \fIn\fP octeți ai memoriei începând de la locația indicată de \fIs\fP, prin scrierea de zerouri (octeți care conțin \[aq]\e0\[aq]) în zona respectivă. .P Funcția \fBexplicit_bzero\fP() îndeplinește aceeași sarcină ca și \fBbzero\fP(). Ea diferă de \fBbzero\fP() prin faptul că garantează că optimizările compilatorului nu vor elimina operația de ștergere dacă compilatorul deduce că operația „nu este necesară”. .SH "VALOAREA RETURNATĂ" Niciuna. .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfață Atribut Valoare T{ .na .nh \fBbzero\fP(), \fBexplicit_bzero\fP() T} Siguranța firelor MT\-Safe .TE .SH STANDARDE Niciuna. .SH ISTORIC .TP \fBexplicit_bzero\fP() glibc 2.25. .IP Funcția \fBexplicit_bzero\fP() este o extensie nestandardizată care este prezentă și pe unele BSD\-uri. Unele alte implementări au o funcție similară, cum ar fi \fBmemset_explicit\fP() sau \fBmemset_s\fP(). .TP \fBbzero\fP() 4.3BSD. .IP Marcată ca fiind învechită „LEGACY” în POSIX.1\-2001. Eliminată în POSIX.1\-2008. .SH NOTE Funcția \fBexplicit_bzero\fP() rezolvă o problemă cu care se pot confrunta aplicațiile preocupate de securitate atunci când folosesc \fBbzero\fP(): dacă compilatorul poate deduce că locația care urmează să fie pusă la zero nu va mai fi niciodată atinsă de un program \fIcorect\fP, atunci poate elimina complet apelul \fBbzero\fP(). Aceasta este o problemă dacă intenția apelului \fBbzero\fP() a fost de a șterge date sensibile (de exemplu, parole) pentru a preveni posibilitatea ca datele să fie divulgate de un program incorect sau compromis. Apelurile la \fBexplicit_bzero\fP() nu sunt niciodată optimizate de compilator. .P Funcția \fBexplicit_bzero\fP() nu rezolvă toate problemele asociate cu ștergerea datelor sensibile: .IP \[bu] 3 Funcția \fBexplicit_bzero\fP() nu garantează că datele sensibile sunt șterse complet din memorie; (același lucru este valabil și pentru \fBbzero\fP()). De exemplu, pot exista copii ale datelor sensibile într\-un registru și în zonele de stivă „scratch”. Funcția \fBexplicit_bzero\fP() nu este conștientă de aceste copii și nu le poate șterge. .IP \[bu] În anumite circumstanțe, \fBexplicit_bzero\fP() poate \fIdiminua\fP securitatea. În cazul în care compilatorul a determinat că variabila care conține datele sensibile poate fi optimizată pentru a fi stocată într\-un registru (deoarece este suficient de mică pentru a încăpea într\-un registru și nicio altă operație în afară de apelul \fBexplicit_bzero\fP() nu ar trebui să ia adresa variabilei), atunci apelul \fBexplicit_bzero\fP() va forța datele să fie copiate din registru într\-o locație din RAM care este apoi ștearsă imediat (în timp ce copia din registru rămâne neafectată). Problema aici este că datele din RAM sunt mai susceptibile de a fi expuse de o eroare decât datele dintr\-un registru și, astfel, apelul \fBexplicit_bzero\fP() creează o scurtă fereastră de timp în care datele sensibile sunt mai vulnerabile decât ar fi fost dacă nu s\-ar fi încercat ștergerea lor. .P Rețineți că declararea variabilei sensibile cu calificativul \fBvolatile\fP nu elimină problemele de mai sus. Într\-adevăr, le va înrăutăți, deoarece, de exemplu, poate forța o variabilă care altfel ar fi fost optimizată într\-un registru să fie menținută în schimb în RAM (mai vulnerabilă) pe toată durata sa de viață. .P Fără a aduce atingere detaliilor de mai sus, pentru aplicațiile care țin cont de securitate, utilizarea \fBexplicit_bzero\fP() este, în general, preferabilă în locul neutilizării sale. Dezvoltatorii \fBexplicit_bzero\fP() anticipează că viitoarele compilatoare vor recunoaște apelurile la \fBexplicit_bzero\fP() și vor lua măsuri pentru a se asigura că toate copiile datelor sensibile sunt șterse, inclusiv copiile din registre sau din zonele de stivă „scratch”. .SH "CONSULTAȚI ȘI" \fBbstring\fP(3), \fBmemset\fP(3), \fBswab\fP(3) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .