跳到主要内容

X509_cmp_timeframe

API 概述

X509_cmp_timeframeopenssl 中的一个API。该规属于return value check 类型。该规则是使用 AURC 生成的。

规则描述

提示

X509_cmp_timeframe() returns 0 if B<vpm> is not NULL and the verification parameters do not contain B<X509_V_FLAG_USE_CHECK_TIME> but do contain B<X509_V_FLAG_NO_CHECK_TIME>. Otherwise it returns 1 if the end time is not NULL and the reference time (which has determined as stated above) is past the end time, -1 if the start time is not NULL and the reference time is before, else 0 to indicate that the reference time is in range (implying that the end time is not before the start time if both are present).

信息

标签:return value check

参数下标:N/A

CWE类别:CWE-253

规则代码

import cpp

class OpenSSLFunctionCall extends FunctionCall {
OpenSSLFunctionCall() {
this.getTarget().hasName("X509_cmp_timeframe")
}
}

from OpenSSLFunctionCall call, UnaryOperation uop
where
uop.getOperator() = "!" and
uop.getOperand() = call.getAnAccess()
select uop, "This negation checks the return value of X509_cmp_timeframe."