Moi à ma maison, je patche mes int. overflow avec calloc.
Pouette les moulasses,
Je resors de ma Tombe.java pour mettre en valeur un super patch bien moisi from VLC. :)
http://git.videolan.org/?p=vlc.git;a=commitdiff;h=d19de4e9f2211cbe5bde00726b66c47a424f4e07
Depuis quand calloc() *DOIT* checker les integer overflows? Minusk et FreeBSD le font avec dmalloc et jemalloc mais pas phkmalloc (d'après mes souvenirs).
Qu'est-ce qui se passe si i_index_count est à 0xFFFFFFFF ? Sbam ?
int main(int ac, char **av)
{
size_t index = 0xFFFFFFFF;
char *coin = calloc(index + 1, sizeof(int));
char *coinn = malloc((index + 1) * sizeof(int));
printf("%p\n", coin);
printf("%p\n", coinn);
}
OK avec 0x7FFFFFFF ou 0x80000000.
Humpf. Faut qu'on m'explique ?
UPDATE: Ah bein le patch vient d'être mieux à jour. Saymieux.
PS: clem1.be devient provisoirement (jusqu'au 20 décembre) clem1.prout.be.
Je resors de ma Tombe.java pour mettre en valeur un super patch bien moisi from VLC. :)
http://git.videolan.org/?p=vlc.git;a=commitdiff;h=d19de4e9f2211cbe5bde00726b66c47a424f4e07
Depuis quand calloc() *DOIT* checker les integer overflows? Minusk et FreeBSD le font avec dmalloc et jemalloc mais pas phkmalloc (d'après mes souvenirs).
Qu'est-ce qui se passe si i_index_count est à 0xFFFFFFFF ? Sbam ?
int main(int ac, char **av)
{
size_t index = 0xFFFFFFFF;
char *coin = calloc(index + 1, sizeof(int));
char *coinn = malloc((index + 1) * sizeof(int));
printf("%p\n", coin);
printf("%p\n", coinn);
}
OK avec 0x7FFFFFFF ou 0x80000000.
Humpf. Faut qu'on m'explique ?
UPDATE: Ah bein le patch vient d'être mieux à jour. Saymieux.
PS: clem1.be devient provisoirement (jusqu'au 20 décembre) clem1.prout.be.
1 Comments:
Un post par an, c'est un bon score!
Post a Comment
<< Home