crypto/sm2/sm2_crypt.c:104: error: INTEGER_OVERFLOW_L2
  ([2, 2147483646] + [0, 2147483644]):signed32 by call to `ASN1_object_size`.
Showing all 9 steps of the trace


crypto/sm2/sm2_crypt.c:100:14: Call
98.   
99.       /* Integer and string are simple type; set constructed = 0, means primitive and definite length encoding. */
100.       sz = 2 * ASN1_object_size(0, field_size + 1, V_ASN1_INTEGER)
                    ^
101.            + ASN1_object_size(0, md_size, V_ASN1_OCTET_STRING)
102.            + ASN1_object_size(0, msg_len, V_ASN1_OCTET_STRING);

crypto/asn1/asn1_lib.c:219:9: Assignment
  217.       int ret = 1;
  218.       if (length < 0)
  219.           return -1;
                 ^
  220.       if (tag >= 31) {
  221.           while (tag > 0) {

crypto/sm2/sm2_crypt.c:100:5: Assignment
98.   
99.       /* Integer and string are simple type; set constructed = 0, means primitive and definite length encoding. */
100.       sz = 2 * ASN1_object_size(0, field_size + 1, V_ASN1_INTEGER)
           ^
101.            + ASN1_object_size(0, md_size, V_ASN1_OCTET_STRING)
102.            + ASN1_object_size(0, msg_len, V_ASN1_OCTET_STRING);

crypto/sm2/sm2_crypt.c:104:16: Call
102.            + ASN1_object_size(0, msg_len, V_ASN1_OCTET_STRING);
103.       /* Sequence is structured type; set constructed = 1, means constructed and definite length encoding. */
104.       *ct_size = ASN1_object_size(1, sz, V_ASN1_SEQUENCE);
                      ^
105.   
106.       return 1;

crypto/asn1/asn1_lib.c:215:1: <LHS trace>
213.   }
214.   
215. > int ASN1_object_size(int constructed, int length, int tag)
216.   {
217.       int ret = 1;

crypto/asn1/asn1_lib.c:215:1: Parameter `length`
  213.   }
  214.   
  215. > int ASN1_object_size(int constructed, int length, int tag)
  216.   {
  217.       int ret = 1;

crypto/asn1/asn1_lib.c:215:1: <RHS trace>
213.   }
214.   
215. > int ASN1_object_size(int constructed, int length, int tag)
216.   {
217.       int ret = 1;

crypto/asn1/asn1_lib.c:215:1: Parameter `length`
  213.   }
  214.   
  215. > int ASN1_object_size(int constructed, int length, int tag)
  216.   {
  217.       int ret = 1;

crypto/asn1/asn1_lib.c:240:5: Binary operation: ([2, 2147483646] + [0, 2147483644]):signed32 by call to `ASN1_object_size` 
  238.       if (ret >= INT_MAX - length)
  239.           return -1;
  240.       return ret + length;
             ^
  241.   }
  242.   
