Nawet jeśli sama zmienna licznikowa jest należycie chroniona przed przekroczeniem dopuszczalnego zakresu wartości, w pewnych sytuacjach – między innymi w funkcji calloc() – dochodzi do ukrytego mnożenia parametru przez rozmiar pojedynczego elementu, aby otrzymać wielkość obszaru, który powinien zostać zaalokowany. Na przykład, gdy programista chce zaalokować pamięć na 1000 elementów o rozmiarze 16 bajtów, funkcja przydzieli obszar wielkości 1000 * 16, czyli 16000 bajtów. Przeoczenie takiej sytuacji może prowadzić do subtelnych i trudnych do wykrycia błędów programu.

Implikacje dla bezpieczeństwa aplikacji Błędy przekroczenia zakresu liczb całkowitych prowadzą często do zagrożenia bezpieczeństwa aplikacji. Dzieje się tak w środowisku, w którym kontrolowany przez osobę trzecią błąd przekroczenia zakresu liczb całkowitych nie powoduje sytuacji wyjątkowej, lub w którym ta sytuacja nie jest obsłużona prawidłowo.

Kategoria:Cyberataki Kategoria:Unix Kategoria:Błędy programów komputerowych