Повреждение памяти в главном потоке qt после запуска процесса
Мы запускаем qtApplication в процессе. Теперь процесс заключен в тюрьму (с помощью chroot). Повреждение памяти произошло во время dlopen(platform.so) после тюрьмы.
Пример:
process main()
{
mount "proc, sys, dev in /var/tt(chroot directory)"
chroot("/var/tt");
qtthread_create();
}
qtthread_create()
{
create_thread_for_qt_app using pthread apis(qtMainThread);
stack size is 256K;
}
qtMainThread()
{
Printing stack size for qtMainThread(current thread) its displayed currently(256K).
QApplication class creation(QApplication app).
Printing stack size for qtMainThread(current thread) its displayed wrongly(junk value).
app.exec();
}
Вызов QApplication пытается загрузить platform.so, используя dlopen внутри библиотеки qt. В этом случае размер стека отображается неправильно.
Любой орган пытался применить QT в условиях заключения.