【发布时间】:2020-02-27 12:51:10
【问题描述】:
我们有一个可以在 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 版本。
提前感谢您的帮助。
【问题讨论】: