scanf - RHEL8 上的 glibc sscanf 分段错误,相同的代码适用于 RHEL 5、RHEL6 和 RHEL7
问题描述
我们有一个在 RHEL5、RHEL6 和 RHEL7 上正确运行的遗留 C 应用程序。但是相同的应用程序在 RHEL 8 上崩溃,调用堆栈指向 glibc 库函数 sscanf 中的崩溃。
下面是调用堆栈顶部-
*#0 0x00007f437767696e in __GI__IO_vfscanf () from /lib64/libc.so.6
#1 0x00007f437768a991 in vsscanf () from /lib64/libc.so.6
#2 0x00007f4377684f48 in sscanf () from /lib64/libc.so.6*
传递给 sscanf 的所有参数都是有效的,具有正确的值,我们在 gdb 中确认。相同的代码适用于旧 RHEL 版本。
在此先感谢您的帮助。
解决方案
推荐阅读
- jenkins - 错误 .groovy 文件在工作区 jenkins 中不存在
- python - 如何在if条件内的列表上进行循环
- version - R 4.0.5 是精简版吗?
- mysql - SQLSTATE [42S22]:找不到列:1054 '字段列表'中的未知列'p.id'
- opengl - 对于多个字符 Freetype/OpenGL,Advance x 不正确?
- amazon-web-services - AWS Cognito 与外部提供商 - 如何在首次登录之前设置用户角色映射
- html - 具有固定计算宽度的浏览器
- javascript - 如何在 JavaScript 中按模式查找动态节点类
- c# - 实时图表和鼠标位置
- python - 查找模式以使用正则表达式从字符串中提取文本