-
Notifications
You must be signed in to change notification settings - Fork 89
Open
Description
input this string, likes:
"\\\\frac{100 \\\\times (100 + 1)}{2} = 5050"
in master branch , use likes:
int main(int argc, char* argv[]) {
LaTeX::init();
std::string originStr = "\\\\frac{100 \\\\times (100 + 1)}{2} = 5050";
std::wstring s = utf82wide(originStr);
int result = 0;
LaTeX::parse(s, 2000, 52.0, 10.0, 4278190080);
LaTeX::release();
return result;
}
run exe file, will be crash, backtrace likes:
#0 0x00005555555b0a1a in std::vector<std::shared_ptr<tex::Atom>, std::allocator<std::shared_ptr<tex::Atom> > >::push_back(std::shared_ptr<tex::Atom> const&) (this=0xbfffffffbab84, __x=std::shared_ptr<tex::Atom> (use count 1, weak count 0) = {...})
at /usr/include/c++/11/bits/stl_vector.h:1189
#1 0x00005555555e9e19 in tex::ArrayFormula::addCol() (this=0x7fffffffd0e0) at /home/xxx/MicroTeX-master/src/core/formula.cpp:193
#2 0x00005555555ea0f8 in tex::ArrayFormula::addRow() (this=0x7fffffffd0e0) at /home/xxx/MicroTeX-master/src/core/formula.cpp:216
#3 0x000055555568fee5 in tex::TeXParser::addRow() const (this=0x7fffffffd3c0) at /home/xxx/MicroTeX-master/src/core/parser.cpp:142
#4 0x000055555561d4a1 in tex::macro_cr(tex::TeXParser&, std::vector<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::allocator<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >&) (tp=..., args=std::vector of length 12, capacity 12 = {...}) at /home/xxx/MicroTeX-master/src/core/macro_impl.h:499
#5 0x000055555561d6a8 in tex::macro_backslashcr(tex::TeXParser&, std::vector<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::allocator<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >&) (tp=..., args=std::vector of length 12, capacity 12 = {...}) at /home/xxx/MicroTeX-master/src/core/macro_impl.h:520
#6 0x00005555555ffe12 in tex::PreDefMacro::invoke(tex::TeXParser&, std::vector<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::allocator<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >&) (this=0x55555585a4e0, tp=..., args=std::vector of length 12, capacity 12 = {...})
at /home/xxx/MicroTeX-master/src/core/macro.cpp:153
#7 0x0000555555692371 in tex::TeXParser::processCommands(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, tex::MacroInfo*) (this=0x7fffffffd3c0, cmd=L"\\", mac=0x55555585a4e0)
at /home/xxx/MicroTeX-master/src/core/parser.cpp:520
#8 0x0000555555691e95 in tex::TeXParser::processEscape() (this=0x7fffffffd3c0)
at /home/xxx/MicroTeX-master/src/core/parser.cpp:484
#9 0x000055555569488e in tex::TeXParser::parse() (this=0x7fffffffd3c0) at /home/xxx/MicroTeX-master/src/core/parser.cpp:840
#10 0x0000555555692c46 in tex::TeXParser::getArgument() (this=0x7fffffffd3c0) at /home/xxx/MicroTeX-master/src/core/parser.cpp:605
#11 0x000055555569495b in tex::TeXParser::parse() (this=0x7fffffffd3c0) at /home/xxx/MicroTeX-master/src/core/parser.cpp:848
Metadata
Metadata
Assignees
Labels
No labels