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