首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getc(null)如何生成分段错误?

getc(null)如何生成分段错误?
EN

Stack Overflow用户
提问于 2012-10-27 01:21:43
回答 1查看 400关注 0票数 0

我正在读吉姆·特雷弗的“旋风:一个安全的C方言”。全部用于编程语言类。作者说,如果调用getc(null),它可能导致分段错误--因为C标准没有指定如何处理该操作。我对C是新手,我不明白为什么会这样。是否认为getc可能返回指向错误内存地址的指针(因为getc(null)的行为不可预测)?对我来说,这似乎不像是一个安全风险,因为C会期望getC中的字符文字(而不是指向某个字符的指针)。

是否担心从getc返回的字符可能包含一个有效的指针值,然后分配给指针并用于访问不安全的内存区域?担心getc会导致分段错误(而不是调用函数)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-27 01:25:15

我还没有读过GNU C库源代码(但我读过'info getc'),但是您应该传递一个指向getc的指针。如果您传递的指针是空指针,getc可能会尝试对其进行读/写,就好像它是一个有效的指针一样,这将产生一个分段错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13096401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档