// uninit.c — lectura de memoria no inicializada.
// malloc() no pone la memoria en cero (calloc() sí).
//   valgrind --track-origins=yes ./uninit
#include <stdio.h>
#include <stdlib.h>

int main(void) {
    int n = 8;
    int *v = malloc(n * sizeof(int));
    if (v == NULL)
        return 1;
    for (int i = 0; i < n - 1; i++)   // error: falta v[n-1]
        v[i] = i;

    int sum = 0;
    for (int i = 0; i < n; i++)
        sum += v[i];
    if (sum > 28)                      // la decisión depende de basura
        printf("suma grande: %d\n", sum);
    else
        printf("suma: %d\n", sum);
    free(v);
    return 0;
}
