Porque
- 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]
- Apple no estaba ejecutando herramientas de análisis estático (o tal vez sí y no tuvo en cuenta la advertencia)
- nadie en Apple revisó el código, o los revisores del código se perdieron un error bastante obvio
- 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
- 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.
- ¿Son interesantes los trabajos de seguridad cibernética?
- Me acabo de unir a la industria de seguridad cibernética de TI. ¿Qué certificados vale la pena perseguir? CEH, CCNP Seguridad? CheckPoint CCSE?
- Cómo eliminar malware de un navegador
- ¿Es posible que el malware mueva su ubicación para evitar un escaneo AV?
- ¿Cómo mantienen los ultra ricos (Mr.Ambani) en la India lakhs de millones de rupias en los bancos? ¿Es seguro? ¿No se filtra la información a los piratas informáticos / grupos terroristas?