الاسم
- Provided by: manpages-ar-dev (Version: 4.31.0-1)
- Source: manpages-l10n
- Report a bug
مكتبة سي المعيارية (libc، -lc)
#include <strings.h>
void bzero(size_t n;
void s[n], size_t n);
#include <string.h>
void explicit_bzero(size_t n;
void s[n], size_t n);
الدالة bzero() تمسح البيانات في n بايت من الذاكرة ابتداءً من الموقع المشار إليه بـ s، بكتابة أصفار (بايتات تحتوي على '\0') إلى تلك المنطقة.
الدالة explicit_bzero() تؤدي نفس مهمة bzero(). تختلف عن bzero() في أنها تضمن ألا تزيل تحسينات المترجم عملية المسح إذا استنتج المترجم أن العملية "غير ضرورية".
لا شيء.
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
| الواجهة | السمة | القيمة |
| bzero(), explicit_bzero() | سلامة الخيوط | MT-Safe |
لا شيء.
الدالة explicit_bzero() تعالج مشكلة قد تواجهها التطبيقات الحساسة أمنيًا عند استخدام bzero(): إذا استطاع المترجم استنتاج أن الموقع المراد تصفيره لن يُلمس مرة أخرى بواسطة برنامج صحيح، فقد يزيل استدعاء bzero() بالكامل. هذه مشكلة إذا كان القصد من استدعاء bzero() هو مسح بيانات حساسة (مثل كلمات السر) لمنع احتمال تسرب البيانات بواسطة برنامج غير صحيح أو مخترق. استدعاءات explicit_bzero() لا تُحسّن أبدًا بعيدًا بواسطة المترجم.
الدالة explicit_bzero() لا تحل جميع المشاكل المرتبطة بمسح البيانات الحساسة:
لاحظ أن تعريف المتغير الحساس بمؤهل volatile لا يزيل المشاكل المذكورة أعلاه. في الواقع، سيجعلها أسوأ، لأنه، على سبيل المثال، قد يجبر متغيرًا كان سيُحسّن إلى مسجل بدلاً من ذلك على أن يُحتفظ به في RAM (أكثر ضعفًا) طوال عمره.
على الرغم من التفاصيل المذكورة أعلاه، للتطبيقات الحساسة أمنيًا، استخدام explicit_bzero() أفضل عمومًا من عدم استخدامها. مطورو explicit_bzero() يتوقعون أن المترجمات المستقبلية ستتعرف على استدعاءات explicit_bzero() وتتخذ خطوات لضمان مسح جميع نسخ البيانات الحساسة، بما في ذلك النسخ في المسجلات أو في مناطق "خردة" المكدس.
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.