mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-01 10:06:57 +03:00
libio: freopen of default streams crashes in old programs [BZ #24632]
As seen with very old i386 GCC binaries.
This commit is contained in:
@ -108,9 +108,14 @@
|
||||
(IO_validate_vtable \
|
||||
(*(struct _IO_jump_t **) ((void *) &_IO_JUMPS_FILE_plus (THIS) \
|
||||
+ (THIS)->_vtable_offset)))
|
||||
# define _IO_JUMPS_FUNC_UPDATE(THIS, VTABLE) \
|
||||
(*(const struct _IO_jump_t **) ((void *) &_IO_JUMPS_FILE_plus (THIS) \
|
||||
+ (THIS)->_vtable_offset) = (VTABLE))
|
||||
# define _IO_vtable_offset(THIS) (THIS)->_vtable_offset
|
||||
#else
|
||||
# define _IO_JUMPS_FUNC(THIS) (IO_validate_vtable (_IO_JUMPS_FILE_plus (THIS)))
|
||||
# define _IO_JUMPS_FUNC_UPDATE(THIS, VTABLE) \
|
||||
(_IO_JUMPS_FILE_plus (THIS) = (VTABLE))
|
||||
# define _IO_vtable_offset(THIS) 0
|
||||
#endif
|
||||
#define _IO_WIDE_JUMPS_FUNC(THIS) _IO_WIDE_JUMPS(THIS)
|
||||
|
Reference in New Issue
Block a user