Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: jmat.h en 5 Agosto 2021, 06:39 am



Título: la biblioteca string.h o string, esta bien usarlo?
Publicado por: jmat.h en 5 Agosto 2021, 06:39 am
leí que tiene una vulnerabilidad exactamente "desbordamiento de buffer",Además, las funciones para cadenas de caracteres sólo trabajan con conjuntos de caracteres ASCII o extensiones ASCII compatibles.

psdt: recién estoy empezando a aprender programación por mi cuenta. :P


Título: Re: la biblioteca string.h o string, esta bien usarlo?
Publicado por: MAFUS en 5 Agosto 2021, 10:53 am
De string no sé, eso es de C++, pero si te puedo decir de C. Sí string.h tiene funciones que no son seguras y por ello se hicieron unas parecidas pero que el programador le decía a la función cuántos bytes tenías que usarse: por ejemplo strcpy y strncpy, strcat y strncat, etc.

También hay funcionalidad para manejar caracteres anchos.

Te recomiendo que descargues el proposal para C17 (la normal del estándar hay que pagarla) y veas qué puede hacer C https://web.archive.org/web/20181230041359if_/http://www.open-std.org/jtc1/sc22/wg14/www/abq/c17_updated_proposed_fdis.pdf


Título: Re: la biblioteca string.h o string, esta bien usarlo?
Publicado por: Locura_23 en 5 Agosto 2021, 19:25 pm
Hola, lo que pasa es que al momento de hacer programas grandes o comerciales, esos desbordamiento de buffer pueden ser un problema.
Cuando estaba aprendiendo esa parte de C mis profesores me enseñaron las funciones basicas de string.h como gets(), función que tiene ese problema posible desbordamiento. Lo que sucede es que cuando estas aprendiendo esas cosas no viene mucho al caso preocuparse AÚN, porque estás aprendiendo los conceptos iniciales. Con el tiempo, vas puliendo lo aprendido y ya puedes empezar a preocuparte por esas cuestiones.
Existen un grupo de funciones de string.h que pueden ser reemplazadas por otras más seguras, que hacen que el software sea más confiable y seguro.
Este post te puede ayudar mucho, luego si quieres saber más, puedes buscarlas en un manual de referencia ANSI C.
https://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html