bug-glibc
[Top][All Lists]
Advanced

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

fseek compatibility


From: Andrej Czapszys
Subject: fseek compatibility
Date: Wed, 20 Aug 2003 22:31:50 -0700
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624

I think that I've run into a versioning problem. I tried to search GNATS, but it seems to be unavailable. I recently upgraded my debian linux box from libc-2.3.1 to libc-2.3.2, and now my Win4Lin binaries are
segfaulting inside fseek when reading the config file.

Here's what happens according to strace/gdb:
fh = fopen as _IO_old_fopen(filename=0x804916e "/etc/default/merge", mode=0x804910b "r") at fseek.c:39
fseek(fp=0x804a3a0, offset=0, whence=2) at fseek.c:41
calls _IO_seekoff_unlocked (fp=0x804a3a0, offset=0, dir=2, mode=3) at ioseekoff.c:55

_IO_seekoff_unlocked looks at fp->_mode and fp->_wide_data, even though there were no such fields in the structure created in _IO_old_fopen. Therefore those fields are uninitialized, and I get this from gdb:
Program received signal SIGSEGV, Segmentation fault.
0x400714cd in _IO_seekoff_unlocked (fp=0x804a3a0, offset=0, dir=2, mode=3)
   at ioseekoff.c:55

55 || (_IO_fwide (fp, 0) > 0 && _IO_have_wbackup (fp))))

Is this a known issue? If not, should it be fixed with versioning like fopen/fclose are?

Thankyou,
Andrej






reply via email to

[Prev in Thread] Current Thread [Next in Thread]