Segmentation fault
Pavel Kankovsky
peak na kerberos.troja.mff.cuni.cz
Pátek Květen 29 10:27:09 CEST 1998
On Thu, 28 May 1998, Zdenek Pytela wrote:
> Po prelozeni s ladicimi informacemi jsem se dozvedel, ze
>
> :Program terminated with signal 11, Segmentation fault.
> :find_solib: Can't read pathname for load map: Input/output error
^^^ to zni zajimave, debugger ma asi mirne boleni hlavy
> :#0 0x8048f3f in retrieve_arguments (entries=0xbffff720) at cgi-util.c:125
> :125 if (!strcmp((char *)getenv("REQUEST_METHOD"),"POST"))
krasny priklad toho, jak delat programy, co nejsou robustni
spravne by melo byt:
char *method = getenv("REQUEST_METHOD");
if (!method)
/* narikej a skonci */
if (!strcmp(method, "POST"))
/* atd.. */
vzhledem k tomu, ze strcmp je dost mozna inlinovane, tipnul bych, ze
getenv() vrati NULL a spadne to na tom (neni od veci dat disassemble
a zjistit, na ktere instrukci to umrelo, ale to vyzaduje schopnost
prekladat asembler zpatky do cecka :> )
ovsem proc by melo getenv() vracet NULL (nebo nejakou jinou nedobrou
hodnotu), to nevim (nejsem jasnovidec)
--Pavel Kankovsky aka Peak [ Boycott Microsoft--http://www.vcnet.com/bms ]
Další informace o konferenci Linux