// leak.c — fuga de memoria (memory leak).
// Reserva 10 bloques de 64 bytes y nunca los libera.
//   valgrind --leak-check=full ./leak
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

static char *make_label(int i) {
    char *s = malloc(64);
    if (s == NULL)
        exit(1);
    snprintf(s, 64, "etiqueta %d", i);
    return s;
}

int main(void) {
    for (int i = 0; i < 10; i++) {
        char *label = make_label(i);
        printf("%s\n", label);
        // falta free(label): el puntero se pierde en cada vuelta
    }
    return 0;
}
