Re: crash read symbols bug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




 
----- Original Message -----

> > sp-1 will be NULL if sp pointer the first element in symbol
> > table, so
> > (sp-1)->value w! ill cause segment fault.
> > S! o I modify the code segment as follow:
> > if (sp->value > value) {
> > if (sp - st->symtable == 0) return NULL;
> > if (offset)
> > *offset = value - ((sp-1)->value);
> > return((struct syment *)(sp-1));
> > }
> > Is that OK? I hope you could give me some advices.
> 
> Looks good to me, although I would prefer "if (sp == st->symtable)" to make
> it a bit clearer.

But wait a minute -- how did you get past the address value check at the
top of value_search_base_kernel():

  struct syment *
  value_search_base_kernel(ulong value, ulong *offset)
  {
          struct syment *sp;

======>   if (value < st->symtable[0].value)
                  return((struct syment *)NULL);

What value is in st->symtable[0].value, and what value are you passing
to the function?

Dave
 

--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/crash-utility


[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux