En resumen: ha sido un puntero a NULL. La memoria de un ordenador no es más que una matriz gigante de números. Representamos estos números aquí como hexadecimal, que es en base 16. ¿El problema? La computadora trató de leer el área de memoria 0x9c (aka 156). Esta es una región de memoria no válida para ningún programa. Cualquier programa que intente leerla será inmediatamente eliminado por Windows.
|
etiquetas: crowdstrike , c++ , windows
Etcétera etcétera etcétera.
Ahora habría que ver qué arreglaba el hotfix y si era realmente tan importante como para cometer tal cadena de temeridades.
Como decis, el como pudo llegar ese codigo a prod se debe investigar
Por otra parte, tampoco afirmo categoricamente que haya sido un sabotaje, sólo digo que empieza a parecerme una explicación más razonable que la cadena de errores que implica un mero despiste.
No tiene sentido que ese código haya llegado a producción. Sospecho que no se probó bien en Windows.
Eso con Rust no habría pasado.
Creo que no he visto ni un solo proyecto en 10 años que no tenga un pipeline de CI/CD que no incluya al menos correr unos cuantos tests.
Es que ..estoy pensando ahora mismo...que el propio IDE me avisa si no compruebo en valor de un puntero antes de acceder a el. Y los linters, y los tests, las pruebas manuales, etc, etc... Es inconcebible.
Por lo que he leído ayer en el hilo de Reddit el problema ha sido con la actualización de un archivo de definiciones que de algún modo se corrompió, por esa razón ha afectado incluso en los casos de empresas con políticas de actualización de versión N-x; la actualización no era del cliente.
Yo no creo que hayan desplegado sin probarlo, seguramente lo han hecho pero simplemente ha ocurrido algo totalmente inesperado. Si realmente ha sido un archivo corrupto probablemente es que el archivo… » ver todo el comentario