This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

A bug in the dynamic linker


_dl_catch_error has

  /* We get here only if we longjmp'd out of OPERATE.  */
  tsd_setspecific (old);
  *objname = c.objname;
  *errstring = c.errstring;
  return errcode == -1 ? 0 : errcode;

_dl_signal_error will set the env fieldd to -1 if errcode == 0. In
that case, _dl_catch_error will return 0. That means the error will be
 ignore and the dynamic linker may dump core. Now the question is if
_dl_signal_error should be called with errcode == 0 inside of
_dl_catch_error. The one case is lose () in dl-load.c. It may call
_dl_signal_error with errcode == 0 inside of _dl_catch_error.



H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]