EVP_Cipher
API 概述
EVP_Cipher 是 openssl 中的一个API。该规属于return value check 类型。该规则是使用 AURC 生成的。
规则描述
提示
EVP_Cipher() returns the amount of encrypted / decrypted bytes, or -1 on failure if the flag B<EVP_CIPH_FLAG_CUSTOM_CIPHER> is set for the cipher. EVP_Cipher() returns 1 on success or 0 on failure, if the flag B<EVP_CIPH_FLAG_CUSTOM_CIPHER> is not set for the cipher.
信息
标签:return value check
参数下标:N/A
CWE类别:CWE-253
规则代码
import cpp
class OpenSSLFunctionCall extends FunctionCall {
OpenSSLFunctionCall() {
this.getTarget().hasName("EVP_Cipher")
}
}
from OpenSSLFunctionCall call, UnaryOperation uop
where
uop.getOperator() = "!" and
uop.getOperand() = call.getAnAccess()
select uop, "This negation checks the return value of EVP_Cipher."