سرریز عدد صحیح
در برنامهنویسی، سرریز عدد صحیح هنگامی رخ میدهد که نتیجهٔ یک عمل محاسباتی مقدار عددی بزرگی است که از محدودهٔ مجاز قابل پردازش فراتر است. مثلاً افزودن عدد ۱ به بزرگترین عدد قابل نمایش سبب این نوع سرریز میشود، و معمولترین نتیجهای که سیستم بروز میدهد کوچکترین عدد قابل نمایش است (در انگلیسی به این رخداد اصطلاحاً wraparound میگویند). در برخی پردازشگرها مثل واحد پردازشگر گرافیکی و پردازشگر سیگنال دیجیتال نتیجه به اشباع رسانده میشود، یعنی وقتی به بزرگترین عدد برسیم، نتیجهٔ تلاش برای بزرگتر کردن آن، برگردانده شدن همان بزرگترین عدد قابل نمایش است. طبق استاندارد ایزو سی۹۹ سرریز عدد صحیح سبب «رفتار تعریفنشده» میشود، این یعنی کامپایلرها میتوانند کاملاً آن را نادیده بگیرند یا حتی برنامه را متوقف کنند. اغلب کامپایلرها از این مشکل چشمپوشی میکنند، و نتیجهای غیرمنتظره یا غلط برمیگردانند. سرریز عدد صحیح میتواند در حالاتی به سرریز بافر منجر شود.
منابع
- "Integer Overflows". WASC Threat Classification. Retrieved March 16, 2013.
- "Basic Integer Overflows". Phrack Magazine. Retrieved March 16, 2013.
- Wikipedia contributors, "Integer overflow," Wikipedia, The Free Encyclopedia, http://en.wikipedia.org/w/index.php?title=Integer_overflow&oldid=541201375 (accessed March 16, 2013).