小心小心再小心-缓冲区溢出
来源:互联网 发布:网络机顶盒能看卫视吗 编辑:程序博客网 时间:2024/04/29 23:23
#include <stdio.h>#include <string.h>int checkpass( void){int x;char a[9];x=0;fprintf(stderr,"a at %p and\nx at %p\n",(void *)a,(void *)&x);printf("enter a short word:");scanf( "%8s", a);if( strcmp( a, "mypass")==0 ){x=1;}return x;}int main(){printf("%d\n", checkpass() );return 0;}
注意: 上面代码中输入字符串的部分,如果写成 scanf("%s",a); 的话,则有可能产生缓冲区缓出的问题。 假设用户输入一段很长的字符串,则会造成缓冲区溢出,有可能重写返回地址或是x的值,而且程序很可能会试图返回到一个程序地址空间范围以外的单元上去,并造成段保护错误和信息转储。
0 0
- 小心小心再小心-缓冲区溢出
- 小心小心
- 小心'溢出'陷阱
- 100的阶乘 小心溢出
- 大数乘法小心数据溢出
- 小心 timeval 和 timespec 不小心溢出了
- 小心食物中毒
- 小心玻璃
- 小心颈椎病
- 小心VPN
- 不小心
- 小心得
- 小心vs2005
- 不小心
- 小心驾驶
- 小心得
- 小心,得!
- 小心NullPointerException
- 每个Java开发者都应该知道的5个JDK工具
- 从字节码角度看String的连接操作
- Longest Increasing Subsequence Show Result My Submissions
- IO流 FileInputStream(字节流) FileReader(字符流能打印出中文)把文件中内容读出来
- 用Swift写个Material Design组件库
- 小心小心再小心-缓冲区溢出
- Crtmpserver编译
- 高通Vuforia:识别之后立即播放视频
- 按键错乱的问题
- 2014十大科技流行词
- 在jsp中使用jstl标签的常规用法
- spark运行异常--以后找到解决方案了再修改
- 调用调色板在对话框中画一条直线
- D3 + Leaflet入门