Como puedo ver si un puntero apunta a una zona de memoria mas allá de mi programa???
Depura tu programa. Si no sabes, aprende a hacerlo ya que es algo indispensable en un programador. Básicamente tienes dos opciones:
1. Usar algún depurador tipo gdb, o alguno que ya esté en el IDE que uses. Aquí puedes usar breakpoints, ver en cada instrucción el valor de tus variables, la pila, etc. Tienes muchísima información pero no es algo que se aprenda en dos días.
2. Usar
printf() en puntos claves de tu programa para conseguir averiguar donde te tira ese error. Puedes poner cosas como "Puntero inicializado", "Antes del for", etc etc, así como imprimir los valores que tengan tus variables. Menos información pero más fácil de hacer, y muchas veces con esto se consigue ver el fallo tonto que hace que no corra el programa.
Yo probaría con la segunda opción para ver si con un poco de suerte eso es suficiente para encontrar el error, pero no estaría de más que fueras echándole un ojo al depurador que más te guste e ir aprendiendo a manejarlo.
Saludos.