产生告警的代码如下:
status = PerEnConstrainedUnsigned(ptCurCtx,ptVal->count_Uplink,0,4294967295);
函数PerEnConstrainedUnsigned的声明如下:
ASN1STATUS PerEnConstrainedUnsigned(Asn1Ctxt* ctxt, ASN1UINT value, ASN1UINT lower, ASN1UINT upper)
告警发生的原因:
C语言里面的常量默认是一个32位的有符号整型数。
对于4294967295,由于无法用32位的有符号整型数表示,所以会报警告。
解决方法是这样:
status = PerEnConstrainedUnsigned(ptCurCtx,ptVal->count_Uplink,0,4294967295UL);