mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
libio: Disable vtable validation for pre-2.1 interposed handles [BZ #25203]
Commitc402355dfa
("libio: Disable vtable validation in case of interposition [BZ #23313]") only covered the interposable glibc 2.1 handles, in libio/stdfiles.c. The parallel code in libio/oldstdfiles.c needs similar detection logic. Fixes (again) commitdb3476aff1
("libio: Implement vtable verification [BZ #20191]"). Change-Id: Ief6f9f17e91d1f7263421c56a7dc018f4f595c21 (cherry picked from commitcb61630ed7
)
This commit is contained in:
parent
7966ce07e8
commit
f55e312bcd
1
NEWS
1
NEWS
@ -69,6 +69,7 @@ The following bugs are resolved with this release:
|
||||
[24228] old x86 applications that use legacy libio crash on exit
|
||||
[24476] dlfcn: Guard __dlerror_main_freeres with __libc_once_get (once)
|
||||
[24744] io: Remove the copy_file_range emulation.
|
||||
[25203] libio: Disable vtable validation for pre-2.1 interposed handles
|
||||
[25204] Ignore LD_PREFER_MAP_32BIT_EXEC for SUID programs
|
||||
|
||||
Security related changes:
|
||||
|
@ -87,6 +87,11 @@ _IO_check_libio (void)
|
||||
stdout->_vtable_offset = stderr->_vtable_offset =
|
||||
((int) sizeof (struct _IO_FILE)
|
||||
- (int) sizeof (struct _IO_FILE_complete));
|
||||
|
||||
if (_IO_stdin_.vtable != &_IO_old_file_jumps
|
||||
|| _IO_stdout_.vtable != &_IO_old_file_jumps
|
||||
|| _IO_stderr_.vtable != &_IO_old_file_jumps)
|
||||
IO_set_accept_foreign_vtables (&_IO_vtable_check);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user