c - 这是使用 malloc 的不安全方式吗?

标签 c security

如果 x 和 y 参数从不受信任的用户那里接收数据,这段代码会不会带来一些安全威胁?

char *p = malloc(x * y); 
while (x > 0) 
  while (y > 0) 
    *p++ = 0; 

更新:

大多数人似乎评论说这是一个无限循环,并且这段代码在覆盖其分配的内存时最终会使程序崩溃。 但是除了那个问题。 malloc 的使用方式是否可能存在一些问题?例如。堆溢出,因为没有检查 x 和 y 的上限?

最佳答案

如果 x 和 y 为正,您将无限地写入内存,直到程序崩溃,这是我所期望的。这不是个好主意。

关于c - 这是使用 malloc 的不安全方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8401484/

相关文章:

python:PyPi 公共(public)模块:如何确定是否安全?

objective-c - 更新应用后,mac 会再次提示用户允许访问钥匙串(keychain)吗?

c - 使用 malloc 分配的 block 地址

c - fscanf() - 如何让它在读取 n 个字符后跳到下一个单词?

c - 在C中打印带有UTF8字符的字符串

java - weblogic 上的 ClassCastException

API 认证流程

.net - 使用 x509 证书的 rsacryptoserviceprovider c#

c - 我如何使用 putchar 到 "squeeze"个字符 (Ansi-C)

c - 从词法分析的角度分析一个C表达式