Move definition of IMkvReader::~IMkvReader() to mkvparser.h.
In order to get UBSan's vptr check to work with sancov instrumentation,
an abstract class should have its methods to be defined in the same
translation unit OR to be declared as pure virtual. Otherwise, typeinfo
causes undefined symbol error during linking.
For this particular case, the issue happens due to mkvmuxer/mkvmuxer.cc
file using mkvparser::IMkvReader* type, while its destructor is neither
pure virtual nor defined in the header file, i.e. it is outside of the
mkvmuxer.o translation unit.
2 files changed