• [^] # Re: Re:

    Posté par . En réponse au message memory corruption. Évalué à 2.

    $ vi memcorrupt.c++

    int main (void)
    {
    delete (new char[4096]+256);
    return 0;
    }


    $ g++ memcorrupt.c++ -o memcorrupt
    $ ./memcorrupt

    *** glibc detected *** ./mai

    Même chose en C :

    #include <stdlib.h>

    int main (void)
    {
    free (malloc(4096)+256);
    return 0;
    }


    L'idée est de passer aux routines de gestion de la mémoire qui reste dans l'espace d'adressage du processus (ce qui fait que le processeur ne segfaulte pas) mais qui ne corresponde malgré tout à rien de valable.

    Si cela se produit au sein de la lib Magick, soit c'est un bug, soit la fonction incriminée essaie de faire des opérations sur un objet qu'elle suppose prêt à être utilisé et qui ne l'est pas.