【问题标题】:calloc() call result is not captured - Objective C-IOS未捕获 calloc() 调用结果 - Objective C-IOS
【发布时间】:2018-10-23 10:45:46
【问题描述】:

我在 Veracode 中上传了我的 IOS 应用程序进行漏洞扫描,发现了两个漏洞。

第一个

“调用 calloc() 的结果未被捕获,因此无法检查它是否成功。如果内存不可用,这可能会导致应用程序不稳定或崩溃。”

这是 calloc() 行:

currentElementBuffer->elements = (TBLElement*)calloc(1,sizeof(TBLElement)*100);

第二

“标准随机数生成器在用于安全目的时不能提供足够量的熵。攻击者可以暴力破解伪随机数生成器的输出,例如 rand()。”

我想不通,因为我是新手。 任何人都知道如何解决这个问题,或者是什么问题?

【问题讨论】:

    标签: ios objective-c xcode veracode


    【解决方案1】:

    1) 您没有检查calloc 调用的结果是否成功。如果内存受限,它可能会失败。

    2) rand() 功能不够安全,请将其替换为更适合您用例的功能(可能是arc4random()

    【讨论】:

    • 你能解释一下如何调用 calloc() 吗?因为其他人创建了代码,我必须编辑它......我不明白它..你的意思是在我将它分配给一个变量之前,我应该调用它并检查结果是否不是 Null ?
    • 是的,没错。您必须检查结果是否不为 NULL
    猜你喜欢
    • 1970-01-01
    • 2013-10-03
    • 2011-08-27
    • 1970-01-01
    • 2015-09-20
    • 2017-12-13
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    相关资源
    最近更新 更多