Random IRC quote :      <mrnobody1> y porque? <pancake> porque si <mrnobody1> y eso? <pancake> eso es queso <mrnobody1> si? <pancake> tal cual <matalaz> de verdad? <pancake> de la buena

Wheel of bugs

Después del gran éxitowheel of bugs de una de las secciones que abrimos hace tiempo (la de arte), tenemos el placer de presentaros una nueva sección : Wheel of bugs.

El objetivo de esta sección es que todos aprendamos y discutamos sobre diferentes tipos de bugs, nosotros no somos gurús de este arte, es posible que algunos de los trozos de código que pongamos tengan más bugs de los que esperabamos, pero para eso están los comentarios, para discutir 😉

En lineas generales, la idea es poner un trozo de código, que normalmente será en C, y encontrar el fallo o los fallos que pueden existir en él, así como discutir la viabilidad de su explotación.

Estamos abiertos también a que nos mandeís vuestras propias colaboraciones, ya sean nuevos retos o exploits, para ello podeís poneros en contacto con nosotros a través de staff~48bits.com.

Bueno, aquí queda el primer código, spot the bug! 😉

typedef struct _tag
{
        int id;
        int initialized;
}tag,*ptag;  

ptag gettag( int n_alloc )
{
        ptag p=NULL;  

        if ( n_alloc && ( p = (ptag) malloc ( n_alloc * sizeof(tag) ) ) )
        {
                memset(p,0, n_alloc *sizeof(tag));
        }  

        return p;
}  

int main (int argc, char **argv)
{
        ptag p;
        int n_alloc,n_init,id,i;  

        if (argc < 4) return 0;  

        n_alloc   = atoi(argv[1]);
        n_init     = atoi(argv[2]);
        id          = atoi(argv[3]);  

        p = gettag(n_alloc);  

        if (p)
        {
                if ( n_init <= n_alloc )
                {
                        for (i=0;i<n_init;i++)
                        {
                                p[i].id           = id;
                                p[i].initialized  = 1;
                        }
                }
                free(p);
        }
}

5 Comentarios para “Wheel of bugs”

  1. Comment por Amian | 06/08/07 at 11:29 pm

    Me gustas mucho la prueba que vos hases mas no he conseguido chingar el codigo. Intentare mas tarde!

  2. Comment por sha0 | 06/11/07 at 7:13 pm

    La pista es el aprobechar el *8 😉

  3. Comment por Amian | 06/13/07 at 10:33 am

    No consigo chingar el codigo man, cual es valor? no consigo que chinge man

  4. Comment por Amian | 06/14/07 at 11:46 am

    Ayer dije Orale! Pero al final no chingo, no se que pasa no lo consegi de chingar

  5. Comment por Mario Ballano | 06/14/07 at 12:52 pm

    En Breve publicaremos la solución y otra prueba nueva, stay tuned! 😉

Se han cerrado los comentarios