El pasado lunes 19 de julio, Google lanzó una actualización de su sistema operativo Chrome OS, la 91.0.4472.165, que rápidamente empezó a dar problemas a los usuarios: les impedía iniciar sesión en sus sistemas. Google detuvo inmediatamente el despligue de la misma, cuando sólo había afectado a los usuarios que habían reiniciado sus equipos tras la descarga de la nueva versión.
A estos últimos sólo se les pudo ofrecer soluciones para recuperar el acceso a su sistema que pasaban, inevitablemente, por borrar los datos locales del dispositivo (revertir el dispositivo a una versión anterior vía USB, restaurar estado de fábrica, o borrar y recrear la cuenta de usuario).
Un sencillo —casi imperceptible— error tipográfico ha provocado que miles de Chromebooks hayan perdido el acceso a sus datos.
Sin embargo, lo interesante de esta actualización fallida (y, por supuesto, ya parcheada), tiene que ver con la razón de dicho fallo. ¿Quizá una corrupción de algún fichero del sistema? ¿Quizá —qué sé yo— alguna extraña y compleja vulnerabilidad del kernel? Para nada: el problema residía en un "&".
Lo extraño del error no es que se cometiera, es que no se detectaran sus efectos
Sí, el carácter conocido en inglés como 'ampersand', usado como sustituto de la palabra 'and', es también un operador fundamental en la mayoría de los lenguajes de programación. El problema de esta actualización vino generado por una revisión del código que, inadvertidamente, eliminó uno de estos operadores en el siguiente fragmento de código C++:
if …