השחתת זיכרון – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
מ קישורים |
|||
שורה 1:
'''השחתת זכרון''' (Memory corruption) הוא סוג של [[באג]], אשר קורה כאשר מיקום ב[[זכרון מחשב]] או [[אוגר]] משוכתב באופן מקרי ולא מבוקר, כתוצאה משגיאה ב[[תכנות]]. טעות כזו יכולה לגרום לקריסה מיידית של ה[[תוכנה]] (למשל במקרה של כתיבה לכתובת 0, התוכנית תיזרק על ידי [[מערכת הפעלה|מערכת ההפעלה]] בעקבות שגיאת סגמנטציה). מנגד, ייתכן גם שהשגיאה לא תבוא לידי ביטוי למשך זמן רב, ורק עבור קלטים מסוימים יופיע פלט שגוי.
דוגמא בולטת להשחתת זכרון היא נסיון גישה לתא
השחתת זיכרון עשויה להיות גם [[חור אבטחה (תכנות)|חור אבטחה]]. דוגמא קלאסית לכך היא תוכנה המקבלת [[קלט]] באורך מסוים, ומנסה להציבו
התוקף עשוי ליצור קלט המיועד להשחית את הזיכרון בתוכן מסוים, וכך, תיאורטית, להחדיר קוד זדוני שיאפשר חדירה למערכת.
בשפות תכנות מסוימות, כגון [[Java]] מתבצעת בדיקה אוטומטית לתחומי המערך, ובד"כ ניסיון להשחתת זיכרון יוציא הודעת שגיאה.
|