• [^] # Re: quid de la sécurité ?

    Posté par . En réponse à la dépêche RFC Fast Kernel Headers très prometteur pour le noyau Linux. Évalué à 8.

    Je ne suis pas sur. Pour moi l'ordre dans le binaire va se faire sur des optimisations d’alignement et autre joyeuseté.

    main.c

     #include <stdlib.h>
     #include "a.h"
     #include "b.h"
     int main(void)
     {
     return EXIT_SUCCESS;
     }

    a.h

    #ifndef _A_H__
    #define A_H__
    #define STR "12345"
    int a = 42;
    #endif

    b.h

    #ifndef _B_H__
    #define B_H__
    #define STR2 "12345"
    int b = 42;
    #endif
    gcc main.c -o out1
    sha1sum out1
    fcd713188a4f1c14a596dd85179088d361ee2f40 out1

    Si je modifie l'ordre de mes vars

    a.h

    #ifndef _A_H__
    #define A_H__
    #define STR "12345"
    #endif

    b.h

    #ifndef _B_H__
    #define B_H__
    #define STR2 "12345"
    int b = 42;
    int a = 42;
    #endif
    gcc main.c -o out2
    sha1sum out2
    fcd713188a4f1c14a596dd85179088d361ee2f40 out2

    Après, avec plusieurs struct, enum, globale, static et autre je dis pas que ça peut pas se produire, c'est justement le questionnement.