小编Thu*_*eti的帖子

strndup调用正在破坏堆栈帧

我在AIX 5.3和6.1上看到了"strndup"调用的奇怪行为.如果我调用大小超过实际源字符串长度大小的strndup,那么在该调用之后会出现堆栈损坏.

以下是可能出现此问题的示例代码:

int main ()
{
    char *dst_str = NULL;
    char src_str[1023] = "sample string";

    dst_str = strndup(src_str, sizeof(src_str));

    free(dst_str);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

有没有人经历过这种行为?

如果是,请告诉我.

根据我的观察,必须有来自操作系统的补丁,这个问题得到解决.但如果有任何补丁,我无法得到那个补丁.请多点亮一点.

谢谢和问候,Thumbeti

c aix

2
推荐指数
1
解决办法
2561
查看次数

标签 统计

aix ×1

c ×1