#include #include #define VETSIZE 100 int main() { int *vet1, *vet2 ; int x ; vet1 = malloc(VETSIZE * sizeof (int)) ; vet2 = malloc(VETSIZE * sizeof (int)) ; // erro 1: acesso a uma posição fora do vetor (buffer overflow) vet1[VETSIZE] = 0 ; // erro 2: leitura de uma variável não inicializada if (x == 0) printf ("x vale zero\n") ; free (vet2) ; // erro 3: liberar duas vezes a mesma área (double free) free (vet2) ; // erro 4: usar uma área após tê-la liberado (use after free) vet2[0] = 0 ; // erro 5: a área de vet1 não foi liberada (memory leak) }