Ошибка разбивки стека PoDoFo C++ с использованием PdfMemDocument
Я новичок в использовании PoDoFo в C++, но у меня есть проблемы с использованием PdfMemDocument. Кажется, в lib есть ошибка, но я не уверен.
мой код:
PoDoFo::PdfMemDocument document;
long len = buffer.size();
document.Load( reinterpret_cast<char*>( buffer.getBuffer() ) , len );
for (int pn = 0; pn < document.GetPageCount(); ++pn)
{
auto* page = document.GetPage( pn );
page->SetRotation( rotation );
}
PoDoFo::PdfOutputDevice output( reinterpret_cast<char*>( buffer.getBuffer() ), buffer.size() );
document.Write( &output );
output.Read( reinterpret_cast<char*>( buffer.getBuffer() ), buffer.size() );
buffer.setSize( output.GetLength() );
Буфер содержит правильные данные. Я проверил это. Ошибка стека возникает при завершении программы. Трассировки стека:
#0 0xf7710be9 in __kernel_vsyscall ()
#1 0xf673dea9 in raise () from /lib/i386-linux-gnu/libc.so.6
#2 0xf673f4d8 in abort () from /lib/i386-linux-gnu/libc.so.6
#3 0xf677937c in ?? () from /lib/i386-linux-gnu/libc.so.6
#4 0xf6809548 in __fortify_fail () from /lib/i386-linux-gnu/libc.so.6
#5 0xf68094d8 in __stack_chk_fail () from /lib/i386-linux-gnu/libc.so.6
#60x0805af74 in __stack_chk_fail_local ()
проблема также возникает, если я генерирую только объект PdfMemDocument в конце моей Программы.
Спасибо за помощь