¿Por qué no se tropezó antes con el error de seguridad SSL de Apple?

Porque

  1. el compilador que Apple estaba usando no lo advirtió, o lo hizo, e ignoraron los mensajes. [Con GCC, esto se marcaría con -Wextra pero no con -Wall; con CLang, -Wunreachable-code lo encontraría]
  2. Apple no estaba ejecutando herramientas de análisis estático (o tal vez sí y no tuvo en cuenta la advertencia)
  3. nadie en Apple revisó el código, o los revisores del código se perdieron un error bastante obvio
  4. Los casos de prueba de Apple no cubrieron esto. En la excelente publicación de errores SSL / TLS de Apple de Adam Langley, habla sobre por qué este es un error difícil de encontrar en las pruebas
  5. Nadie que usa Safari (o la biblioteca subyacente) encontró el problema y lo informó a Apple; o lo hicieron, y el informe se priorizó erróneamente. [Vea el comentario del usuario de Quora y mi respuesta para obtener más información al respecto].

Sin conocer ningún detalle del proceso de desarrollo de Apple, # 2 parece una violación impactante de las mejores prácticas. Las herramientas de análisis estático son excelentes para encontrar este tipo de problemas.