Si utilizas mal la memoria, como en el caso de tu programa anterior que sobreescribia memoria, no existe garantia que esto siempre se caiga, o que siempre funcione, si tiene algun comportamiento deterministico, es suerte. Desde mi punto de vista, tienes suerte que el programa se caiga y te permita descubrir sus errores. Muchos problemas en el software se presentan despues de mucho tiempo, por ejemplo, grandes fallas de seguridad han pasado an~os sin ser descubiertas.
(Otras observaciones:
- Interpretaste mal lo que dije. Nunca dije que estabas reservando memoria de mas, al reves, quise decir que estabas pidiendo memoria insuficiente, y copiando de mas en esa memoria insuficiente.
- sizeof(char) es siempre 1, no necesitas hacer la multiplicacion por sizeof(char), pues ya sabes que la multiplicacion por 1 es superflua.
)
(Otras observaciones:
- Interpretaste mal lo que dije. Nunca dije que estabas reservando memoria de mas, al reves, quise decir que estabas pidiendo memoria insuficiente, y copiando de mas en esa memoria insuficiente.
- sizeof(char) es siempre 1, no necesitas hacer la multiplicacion por sizeof(char), pues ya sabes que la multiplicacion por 1 es superflua.
)