Author: Florian Weimer <email@example.com>
Date: Mon May 20 21:54:57 2019 +0200
libio: Remove codecvt vtable [BZ #24588]
The codecvt vtable is not a real vtable because it also contains the
conversion state data. Furthermore, wide stream support was added to
GCC 3.0, after a C++ ABI bump, so there is no compatibility
requirement with libstdc++.
This change removes several unmangled function pointers which could
be used with a corrupted FILE object to redirect execution. (libio
vtable verification did not cover the codecvt vtable.)
Reviewed-by: Yann Droneaud <firstname.lastname@example.org>
Reviewed-by: Adhemerval Zanella <email@example.com>
Please backport patch to Fedora (if required):
The removal of the unmangled function pointers is something that users aren't going to notice, but we want to clean this up to stay in sync with this code upstream because we may want other changes in this same code. Therefore we aren't going to document this.
Glibc testsuite runs with no regression
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.