Tag: 攻击

编写安全C和安全C语言

“普通人不想自由,他只是想安全。” – HL Menken 我正在尝试编写非常安全的C语言。下面我列出一些我使用的技术,并询问它们是否像我想的那样安全。 请不要犹豫,把我的代码/先入之见撕成碎片。 任何答案,即使是最微不足道的漏洞,或教我一个新的想法将受到高度重视 。 从stream中读取: 根据GNU C编程教程 getline: getline函数会根据需要通过realloc函数自动放大内存块,所以永远不会有空间不足 – getline是如此安全的一个原因。 请注意,getline可以安全地处理您的input行,不pipe它多长时间。 我认为getline应该在所有input下防止从stream中读取时发生缓冲区溢出 。 我的假设是否正确? 有没有可能导致利用的input和/或分配scheme? 例如,如果stream中的第一个字符是一些奇怪的控制字符 ,可能是0x08 BACKSPACE(ctl-H)。 有没有工作做mathcertificategetline是安全的? Malloc在失败时返回空值: 如果malloc遇到错误malloc返回一个NULL指针。 由于仍然可以将指针运算应用于NULL(0x0)指针,因此存在安全风险,因此维基百科build议 /* Allocate space for an array with ten elements of type int. */ int *ptr = (int*)malloc(10 * sizeof (int)); if (ptr == NULL) { /* Memory could […]