utempter na 64-bitach
Jan Rękorajski
baggins w sith.mimuw.edu.pl
Wto, 21 Wrz 2010, 13:51:43 CEST
[wtorek, 21 wrzesień 2010], Adam Osuchowski napisał(a):
> Jan Rękorajski wrote:
> > Czy jesteś tego pewny?
> > /usr/include/bits/utmpx.h mówi że coś Ci się pomerdało.
>
> A dokładniej to co mi się pomerdało?
To co wyciąłeś sugerowało że utmpx.ut_tv ma 32 bity (ma 2*32),
ale już widzę że nie na te typy patrzyłem co trzeba.
>>>Na x86-64 jest problem z utempterem. Struktura utmpx ma czas trzymany
>>>zawsze na 32 bitach (dla celów przenośności) ale utempter wypełnia go
>>>za pomocą gettimeofday(), która to na x86-64 zwraca czas 64-bitowy.
>>>W rezultacie mamy ładny buffer overflow, który psuje resztę pól utmpx.
Po wyjaśnieniu tego nieporozumienia zaaplikowałem twoją łatkę, nowy
utempter powinien się dziś pojawić na ftp.
--
Jan Rękorajski | ALL SUSPECTS ARE GUILTY. PERIOD!
baggins<at>mimuw.edu.pl | OTHERWISE THEY WOULDN'T BE SUSPECTS, WOULD THEY?
BOFH, MANIAC | -- TROOPS by Kevin Rubio
Więcej informacji o liście dyskusyjnej pld-devel-pl