[eside-ghost] Control de errores de acceso a memoria en C?

STenyaK (Bruno Gonzalez) stenyak en gmail.com
Mie Mar 5 18:34:26 CET 2008


On 3/5/08, Jon Valdés <juanval en gmail.com> wrote:
> Casi nada de esto es viable, me temo. El tema es que para clase tengo
>  que programar dos librerías para comunicaciones con sockets. Una para
>  la parte cliente, y otra para la parte del servidor.
>
>  Y el tema es que hay un corrector automático que prueba si las
>  librerías funcionan correctamente... e intenta joder las
>  comunicaciones a base de meter datos erroneos, buffer overflows, etc

Me interesa ese "corrector", hay url o es privado?

>  Asi que me quiero cubrir las espaldas lo máximo posible. No sé si
>  intentarán pasar datos en zonas de memoria no accesibles... pero el
>  profesor es muy crack, y parece perfectamente capaz de liarla asi de
>  gorda a posta, para intentar jodernos... :-S

No sé, tras un googleo rapido "how to know if a pointer has allocated
memory C" salen algunas soluciones poco portables que igual te
interesan, por ej aki:
http://www.thescripts.com/forum/thread215822.html

Para reemplazar el catch de excepciones de C++ en C, igual puedes
capturar la señal SIGSEGV para ver si la memoria no está alocada.
Aunque no sé si luego te permitirá continuar la ejecución.

En el ejemplo concreto que pones, yo creo que con evitar un cast
implicito, y evitar una cadena de longitud indeterminada (strNcmp)
seguramente valga. Imagino que por ahí iran los tiros. Vaya caña q os
dan, no? xD

Comenta si descubres algo mas please :-)

-- 
Saludos,
     Bruno González

_______________________________________________
Msn/Jabber: stenyak AT gmail.com
ICQ: 153709484
http://www.stenyak.com


Más información sobre la lista de distribución eside-ghost