Errores de software: ¿Cuál es la pérdida de memoria más desastrosa que has visto en un programa de computadora?

Hola,
No estoy seguro de si este es el tipo de respuesta que estás buscando, pero esto sucedió en 2011 cuando estaba haciendo programación en C como mi curso semestral. Solía ​​buscar problemas en Google sobre todo tipo de cosas y había un problema en Stack Overflow. Lo recuerdo vagamente y tuve que buscar la pregunta para enumerarla aquí. Fue fácil de encontrar usando etiquetas en Stack Overflow.

Preguntas más recientes sobre ‘memoria-fugas c gestión de memoria valgrind’
(Si quieres ver la publicación exacta. Sé que esto puede no tener votos ni opiniones, pero desde que era estudiante de primer año, me interesó).
El autor de la pregunta (thetna) había mencionado un programa de muestra que tenía una pérdida de memoria, la pregunta era cómo evitar que suceda.

  1 #include             
 2 #include             
 3              
 4 typedef struct sample_help {            
 5 int * valor;            
 6 punteros vacíos **;            
 7} * muestra, muestra_nodo;            
 8              
 9              
 10 muestra principal () {            
 11 muestra ABC = NULL;              
 12 muestra XYZ = NULL;            
 13 muestras de kanchi = NULL;            
 14              
 15 ABC = malloc (sizeof (sample_node));            
 16 XYZ = malloc (sizeof (sample_node));            
 17 ABC-> punteros = malloc (5 * sizeof (nulo *));            
 18 XYZ-> punteros = malloc (5 * sizeof (void *));            
 19 ABC-> valor = malloc (5 * sizeof (int));            
 20 XYZ-> valor = malloc (5 * sizeof (int));            
 21              
 22 ABC-> valor [0] = 10;            
 23 ABC-> valor [1] = 20;            
 24              
 25 punteros XYZ-> [0] = ABC;            
 26 kanchi = XYZ-> punteros [0];            
 27              
 28 printf ("::::% d \ n", XYZ-> punteros [0]);            
 29 printf ("kanchi1 :::::% d \ n", kanchi-> valor [0]);            
 30              
 31              
 32 regreso XYZ;            
 33}             
 34 

La herramienta utilizada para detectar pérdidas de memoria fue valgrind. El resultado fue:

== 27448 == RESUMEN DEL HEAP:
== 27448 == en uso en la salida: 152 bytes en 6 bloques
== 27448 == uso total de almacenamiento dinámico: 6 asignaciones, 0 liberaciones, 152 bytes asignados
== 27448 ==
== 27448 == 152 (16 directos, 136 indirectos) bytes en 1 bloques definitivamente se pierden en el registro de pérdidas 6 de 6
== 27448 == en 0x4C244E8: malloc (vg_replace_malloc.c: 236)
== 27448 == por 0x40056B: principal (prueba2.c: 16)
== 27448 ==
== 27448 == RESUMEN DE FUGAS:
== 27448 == definitivamente perdido: 16 bytes en 1 bloques
== 27448 == perdida indirectamente: 136 bytes en 5 bloques
== 27448 == posiblemente perdido: 0 bytes en 0 bloques
== 27448 == todavía accesible: 0 bytes en 0 bloques
== 27448 == suprimido: 0 bytes en 0 bloques

Todavía no estoy seguro de que esto sea lo que estabas buscando.

Creo que el sangrado es muy serio. Heartbleed
1. Ha existido por algunos años antes de ser descubierto.
2. No hay forma de saber si ha sido comprometido.
3. Está bastante extendido.