Venerdi 23 Ottobre 2026 04:49:45 GMT+02:00

Netcrook

HomeManifesto
News
Techcrook
Geocrook
WikicrookTeamAppContatti
ItalianoEnglish

WIKICROOK

Comportamento indefinito

Comportamento di un programma che il linguaggio o l'ambiente di esecuzione non definisce, rendendo spesso difficile prevedere gli errori.

Il comportamento indefinito si verifica quando un programma esegue un'operazione senza che il linguaggio di programmazione o l'ambiente di esecuzione specifichino come gestirla. Il risultato può variare: il programma potrebbe bloccarsi, produrre un output errato, corrompere la memoria o sembrare funzionare normalmente. In linguaggi come C e C++, un accesso non valido alla memoria e alcuni errori di uso dopo la liberazione della memoria possono causare un comportamento indefinito.

È rilevante per la cybersicurezza perché il comportamento imprevedibile della memoria può compromettere l'affidabilità del software e, in alcuni casi, creare condizioni sfruttabili dagli aggressori. Per esempio, un bug di uso dopo la liberazione della memoria può consentire al codice di accedere alla memoria dopo che un oggetto è stato rilasciato; l'esito dipende da come quella memoria viene riutilizzata e dal programma circostante. Gli sviluppatori riducono i rischi usando linguaggi sicuri per la memoria, gestendo con attenzione i cicli di vita, impiegando strumenti di rilevamento degli errori e svolgendo test. Per chi si occupa di difesa, applicare tempestivamente le patch per browser e software aiuta a correggere i difetti che possono portare a un comportamento indefinito.

← indice WIKICROOK