Messages in this thread | | | Date | Sat, 06 Mar 2010 10:20:41 -0800 | From | walt <> | Subject | Re: "Switch !O_CREAT case to use of do_last()" causes segfault in glibc |
| |
On 03/06/2010 10:03 AM, Al Viro wrote:
> _Really_ interesting; it doesn't look like an oops - smells like an attempt > to do opendir() that fails for some reason, goes unnoticed and resulting > FILE * (i.e. NULL) is fed to readdir()? > > What does it attempt to open?
Ah, this may help:
open("/usr/share/zoneinfo/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 47 open("/usr/share/zoneinfo/MST7MDT", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 48 open("/usr/share/zoneinfo/MST7MDT/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOTDIR (Not a directory) --- SIGSEGV (Segmentation fault) @ 0 (0) ---
| |