c++11 - suse linux中regcomp()中的分段错误
问题描述
在 suse linux 上的 regcomp() 中出现崩溃,以下是回溯,
0x00007fb4bd90c0e0 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007fb4bd90c0e0 in raise () from /lib64/libc.so.6
#1 0x00007fb4bd90d6c1 in abort () from /lib64/libc.so.6
#2 0x00007fb4bd94f427 in __libc_message () from /lib64/libc.so.6
#3 0x00007fb4bd955c43 in malloc_printerr () from /lib64/libc.so.6
#4 0x00007fb4bd9595b1 in _int_malloc () from /lib64/libc.so.6
#5 0x00007fb4bd95b61a in calloc () from /lib64/libc.so.6
#6 0x00007fb4bd9aca65 in parse_expression () from /lib64/libc.so.6
#7 0x00007fb4bd9ae087 in parse_branch () from /lib64/libc.so.6
#8 0x00007fb4bd9ae1bc in parse_reg_exp () from /lib64/libc.so.6
#9 0x00007fb4bd9ae797 in re_compile_internal () from /lib64/libc.so.6
#10 0x00007fb4bd9b44e9 in regcomp () from /lib64/libc.so.6
尝试更改 const 和非常量变量。
should not crash
int main()
{
regex_t myRegEx;
string str = "\\[[0-9]+\\][0-9]+\\[/[0-9]+\\]";
const int retval = regcomp(&myRegEx, str.c_str(), REG_EXTENDED);
return 0;
}
没有崩溃
解决方案
推荐阅读
- python - 我应该怎么做才能使用烧瓶脚本连接到已经运行的烧瓶实例并在 ubuntu 的终端内单击
- java - 可运行的执行时间为每个 cron 滴答声两次
- javascript - 如何在带有 Javascript/node.js 的 SQL 语句中使用 MySQL 变量?
- java - 运行 docker image 时无法到达端点
- c# - 使用 ASP.NET MVC 4 中的特定方案进行授权
- mysql - 根据时间戳选择记录
- c++ - new int[n]() 如何工作?
- swiftui - VStack 有最大限制吗?
- excel - 查找列,然后粘贴 vba excel
- r - 对 R 中的数据列进行排序,其中包含 % 符号