Linux 7.2 elimina strncpy después de 6 años: una lección de paciencia en el código

Linux 7.2 elimina strncpy después de 6 años: una lección de paciencia en el código

Linux 7.2 elimina strncpy después de 6 años: una lección de paciencia en el código

Hoy me desperté con una noticia que me hizo sonreír como cuando encuentras una cerveza artesanal en la micro: Linux 7.2 finalmente eliminó la API strncpy. Seis años de trabajo, más de 360 parches, y una función que ha sido fuente de bugs por décadas desaparece del kernel.

¿Por qué importa esta wea?

Si eres de los que programan en C o trabajan con sistemas embebidos, sabes que strncpy es como ese compañero de pega que siempre promete hacer la pega bien pero nunca termina lo que empezó. La función tenía un comportamiento contra-intuitivo con la terminación NUL y, encima, llenaba de ceros los buffers de forma redundante, lo que la hacía lenta y propensa a errores.

Yo mismo he perdido horas debuggeando problemas de strings truncados porque strncpy no garantizaba que el destino quedara terminado en NUL. Es una de esas trampas que te hace querer tirar el computador por la ventana.

Las alternativas que llegan

El kernel ahora promueve funciones más seguras y claras:

  • strscpy() para destinos con terminación NUL
  • strscpy_pad() cuando necesitas zero-padding
  • strtomem_pad() para campos de ancho fijo sin NUL
  • memcpy_and_pad() para copias acotadas con padding explícito

En otras palabras: ahora hay una herramienta para cada caso, en vez de una navaja suiza que corta para el lado equivocado.

Mi opinión

Como ingeniero de sistemas chileno, me encanta ver este tipo de refactorizaciones. No es solo cambiar una función por otra; es reconocer que un diseño de hace décadas no cumple con los estándares de seguridad y rendimiento actuales. Seis años suena a mucho, pero en un proyecto del tamaño del kernel —con millones de líneas de código y cientos de arquitecturas soportadas— es un tiempo razonable.

Además, esto demuestra que el software libre no es solo código, es cultura de mejora continua. No se quedan con lo que funciona «más o menos»; lo arreglan de verdad, aunque les tome años.

¿Y tú? ¿Sigues usando strncpy en tus proyectos? Si es así, te recomiendo revisar el código antes de que te muerda. Cachai?

Fuente de inspiración: Linux Finally Eliminates The strncpy API After Six Years Of Work, 360+ Patches – Phoronix

Comentarios

Aún no hay comentarios. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *