函数严重性解决方案gets      最危险        使用 fgets(buf, size, stdin)。这几乎总是一个大问题!strcpy   很危险        改为使用 strncpy。strcat    很危险        改为使用 strncat。sprintf  很危险        改为使用 snprintf,或者使用精度说明符。scanf    很危险          使用精度说明符,或自己进行解析。sscanf   很危险       使用精度说明符,或自己进行解析。fscanf   很危险      使用精度说明符,或自己进行解析。vfscanf  很危险      使用精度说明符,或自己进行解析。vsprintf  很危险    改为使用 vsnprintf,或者使用精度说明符。vscanf    很危险    使用精度说明符,或自己进行解析。vsscanf   很危险    使用精度说明符,或自己进行解析。streadd   很危险   确保分配的目的地参数大小是源参数大小的四倍。strecpy   很危险    确保分配的目的地参数大小是源参数大小的四倍。strtrns     危险       手工检查来查看目的地大小是否至少与源字符串相等。realpath 很危险   (或稍小,取决于实现)分配缓冲区大小为 MAXPATHLEN。同样,手工检查参数以确保输入参数不超过 MAXPATHLEN。syslog    很危险(或稍小,取决于实现)在将字符串输入传递给该函数之前,将所有字符串输入截成合理的大小。getopt  很危险(或稍小,取决于实现)在将字符串输入传递给该函数之前,将所有字符串输入截成合理的大小。getopt_long  很危险(或稍小,取决于实现)在将字符串输入传递给该函数之前,将所有字符串输入截成合理的大小。getpass  很危险(或稍小,取决于实现)在将字符串输入传递给该函数之前,将所有字符串输入截成合理的大小。getchar  中等危险  如果在循环中使用该函数,确保检查缓冲区边界。fgetc      中等危险  如果在循环中使用该函数,确保检查缓冲区边界。getc       中等危险  如果在循环中使用该函数,确保检查缓冲区边界。read      中等危险   如果在循环中使用该函数,确保检查缓冲区边界。bcopy   低危险      确保缓冲区大小与它所说的一样大。fgets     低危险      确保缓冲区大小与它所说的一样大。memcpy低危险     确保缓冲区大小与它所说的一样大。snprintf低危险      确保缓冲区大小与它所说的一样大。strccpy低危险        确保缓冲区大小与它所说的一样大。strcadd低危险       确保缓冲区大小与它所说的一样大。strncpy低危险       确保缓冲区大小与它所说的一样大。vsnprintf低危险    确保缓冲区大小与它所说的一样大。

c语言不安全库_C语言中不安全的库函数及解决方案相关推荐

  1. c语言编写词库_C语言课程设计--电子生词库软件

    C语言课程设计--电子生词库软件 程序设计基础实训任务书程序设计基础实训任务书 题目电子生词库软件 学生姓名 学号 班级 题目类型软件工程(R) 指导教师 一.设计目的一.设计目的 1.进一步掌握和利 ...

  2. c语言不安全库_C语言安全性缺陷

    and Mine Automation No. 5 Oct. 2007 文章编号 :1671 - 251X ( 2007 ) 05 - 0125 - 02 C 语言程序设计的健壮性与安全性研究 姜青山 ...

  3. c语言编写python库_c语言包装python程序

    msdn上的例子: /* POPEN.C: This program uses _popen and _pclose to receive a * stream of text from a syst ...

  4. c语言在线练习题库,C语言练习题库(含答案).doc

    C语言习题题库C语言习题题库C语言习题题库 程序填空 共2题 第1题 /*------------------------------------------------------- [程序填空] ...

  5. c语言指针官方解释_C语言中的指针解释了–它们并不像您想象的那么难

    c语言指针官方解释 Pointers are arguably the most difficult feature of C to understand. But, they are one of ...

  6. c语言pow函数用法_C语言基础的不能再基础的程序知识!“hello world”!

    涉及到的知识点有:include有两种用法.{}大括号用法解释.C语言自定义名字的要求. c语言库函数printf的解释.编译错误有两种.调用system函数.c语言编译过程. 操作系统结构.指令集中 ...

  7. c语言上级题库,c语言上级题库.doc

    c语言上级题库 1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中. 答案: int fun ...

  8. 凸轮结构c语言编程,凸轮设计_c语言编程

    凸轮设计_c语言编程 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 一.编程:(注:程序中各个符号的含义)PI:常数 s0:理论廓 ...

  9. 打开c语言运行不了_C语言——菜鸟和大神的分水岭:内存、线程、进程

    作为一门古老的编程语言,C语言已经坚挺了好几十年了,初学者从C语言入门,大学将C语言视为基础课程.不管别人如何抨击,如何唱衰,C语言就是屹立不倒:Java.C#.Python.PHP.Perl 等都有 ...

最新文章

  1. Tensorflow object detection API 搭建物体识别模型
  2. 微生物组—宏基因组分析专题培训开课啦!10月北京
  3. python 标准差Std() 参数决定有偏或无偏
  4. day38 19-Spring整合web开发
  5. Mysql Update 流程摘抄
  6. Java继承,接口,抽象类
  7. 【数据库】MySQL单表查询
  8. textpattern 在 nginx 上的 rewrite 规则
  9. 记一次3dmax操作入门(二)模型导入,选择和显示
  10. Swin-Transformer 详解
  11. js实现连续英文字符自动换行
  12. leetcode刷题(三)——容斥原理
  13. mysql表中的ak什么意思_数据库 ak pk
  14. 隐私计算头条周刊(12.4-12.10)
  15. 计算机化工应用答案,计算机化工应用习题与解答.pdf
  16. jdk14下载与安装教程(win10)超详细
  17. 回味一下——仿2008QQ面板导航
  18. C语言练习题:厘米换算英尺英寸
  19. java开发平台普元_普元开发平台好不好?
  20. java keystore pkcs12_Java密钥库的不同类型 -- PKCS12

热门文章

  1. git rebase 的使用
  2. TCP/IP数据包结构具体解释
  3. Makefile的几个赋值运算符(转:笔记)
  4. 最小化或关闭时隐藏到系统托盘
  5. 分支程序设计02 - 零基础入门学习C语言11
  6. C# 参考之方法参数关键字:params、ref及out (收集)
  7. 用SSAS将多个FLV和MP3合成一个FLV文件
  8. html文档不是本地电脑,电脑浏览器打不开本地html文件
  9. 计算机语言php自学,php自学需要多久?
  10. nvm use切换node版本,但是切换后没有*号