#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// usage
// gcc -g -O0 ./valgrind_bug.c -o bug
// ./bug
// valgrind --leak-check=full --track-origins=yes ./bug
int main() {
    int n = 5;
    int *arr = malloc(n * sizeof(int));

    for (int i = 0; i <= n; i++) {   
        arr[i] = i * 10;
    }

    int sum;
    for (int i = 0; i < n; i++) {   
        sum += arr[i];
    }

    char *msg = malloc(6);
    strcpy(msg, "hello");

    free(msg);
    printf("%s\n", msg);             

    printf("sum = %d\n", sum);

    return 0;
}
