Пытаюсь переписать одну древнюю обертку над PhysFS для использования с C++ стримами. Вроде бы все как надо, но при попытке чтения/записи при помощи этой обертки вылетает сегфолт в деструкторе вот в этом месте:
if (PHYSFS_close(m_file) != 0)
return nullptr;
Дело явно не в PhysFS, уже проверял, используя чистый API - открыл файл, записал несколько байт, успешно закрыл. Несколько раз перечитывал статью про внутреннее устройство std::streambuf, но так и не понял, где косяк. Подскажите пожалуйста, люди добрые, в каком месте копать причину сегфолта. Ссылка на полный исходник
https://pastebin.com/EEsQcbRh