Un reciente informe de error en APT, que reportaba fallos de TLS en sistemas FIPS por errores de MD5, ha destapado un problema sistémico en el ecosistema de software que usa OpenSSL: la costumbre generalizada de invocar ERR_clear_error() antes o después de operaciones TLS para silenciar códigos de error molestos. El autor del análisis, un ingeniero de software especializado en criptografía, advierte de que esta práctica es peligrosa: descartar errores no relacionados oculta fallos reales y rompe la confianza en el software. La situación se agrava con un segundo antipatrón consistente en revisar únicamente el error superior de la pila de OpenSSL y, si parece leve, descartar el resto, lo que elimina también errores relevantes generados por operaciones previas. Para mitigar el problema sin renunciar a la depuración, el texto recomienda sustituir ERR_clear_error() por las funciones ERR_set_mark y ERR_pop_to_mark, que crean un contexto propio dentro de la pila de errores y permiten limpiar únicamente los códigos generados entre dos puntos concretos del código. El autor también insta a los responsables de OpenSSL a dejar de sugerir estas prácticas destructivas en su documentación y anima a la comunidad a auditar sus repositorios en busca de llamadas sospechosas. La conclusión es clara: los errores deben corregirse en el código que los origina, no ocultarse aguas abajo.
