funkce readdir(DIR *dir) a SIGSEGV - vyreseno
Karel Zak
zakkr na zf.jcu.cz
Pondělí Červenec 17 19:27:33 CEST 2000
On Mon, 17 Jul 2000, Petr Novotny wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 17 Jul 00, at 19:03, Libor Chocholaty wrote:
>
> > Neinicializovany dir_handle. Jen nechapu, proc to skonci
> > SIGSEGV a ne error kodem.
>
> Ono by sice bylo mozne validovat kazdy pointer, ktery clovek posle
> do libc (kernelu), ale to by vse trvalo milionkrat dele. Takze se
> predpoklada, ze programator vi, co dela. Hm.
>
> Nevim, zda existuje v linuxu neco jako "checked build" na WinNT -
> tedy build, kde vsechna volani specialne okontroluji vsechny
> parametry a jsou vubec ukecanejsi.
>
> (Existuje na linuxu vubec obdoba IsBadWritePtr/IsBadReadPtr na
> Win32? Obcas je to sikovne, i kdyby treba jen do assertu.)
IMHO zalezitost knihovny/software. Napr. PostgreSQL muzete kompilovat s
volhou --enable-cassert a vsude tam kde je to treba (kde to tvurci
predpokladaji) se checkuje. Je to dost dobre, protoze to odhali hodne
chyb --- typicky validitu pointeru.
Karel
Další informace o konferenci Linux