crypto/ct/ct_prn.c:46: error: BUFFER_OVERRUN_L3
  Offset: [7, +oo] Size: [0, +oo] by call to `ASN1_GENERALIZEDTIME_print`.
Showing all 13 steps of the trace


crypto/ct/ct_prn.c:36:5: Call
34.       if (gen == NULL)
35.           return;
36.       ASN1_GENERALIZEDTIME_adj(gen, (time_t)0,
          ^
37.                                (int)(timestamp / 86400000),
38.                                (timestamp % 86400000) / 1000);

crypto/asn1/a_gentm.c:58:1: Parameter `*s->data`
  56.   }
  57.   
  58. > ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s,
  59.                                                  time_t t, int offset_day,
  60.                                                  long offset_sec)

crypto/ct/ct_prn.c:46:9: Call
44.                    ASN1_STRING_get0_data(gen), (unsigned int)(timestamp % 1000));
45.       if (ASN1_GENERALIZEDTIME_set_string(gen, genstr))
46.           ASN1_GENERALIZEDTIME_print(out, gen);
              ^
47.       ASN1_GENERALIZEDTIME_free(gen);
48.   }

crypto/asn1/a_gentm.c:77:1: Parameter `*tm->data`
  75.   }
  76.   
  77. > int ASN1_GENERALIZEDTIME_print(BIO *bp, const ASN1_GENERALIZEDTIME *tm)
  78.   {
  79.       if (tm->type != V_ASN1_GENERALIZEDTIME)

crypto/asn1/a_gentm.c:81:12: Call
  79.       if (tm->type != V_ASN1_GENERALIZEDTIME)
  80.           return 0;
  81.       return ASN1_TIME_print(bp, tm);
                   ^
  82.   }

crypto/asn1/a_time.c:465:1: Parameter `*tm->data`
    463.   };
    464.   
    465. > int ASN1_TIME_print(BIO *bp, const ASN1_TIME *tm)
    466.   {
    467.       char *v;

crypto/asn1/a_time.c:471:10: Call
    469.       struct tm stm;
    470.   
    471.       if (!asn1_time_to_tm(&stm, tm)) {
                    ^
    472.           /* asn1_time_to_tm will check the time type */
    473.           goto err;

crypto/asn1/a_time.c:80:5: <Offset trace>
78.       static const int mdays[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
79.       char *a;
80.       int n, i, i2, l, o, min_l = 11, strict = 0, end = 6, btz = 5, md;
          ^
81.       struct tm tmp;
82.   

crypto/asn1/a_time.c:80:5: Assignment
      78.       static const int mdays[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
      79.       char *a;
      80.       int n, i, i2, l, o, min_l = 11, strict = 0, end = 6, btz = 5, md;
                ^
      81.       struct tm tmp;
      82.   

crypto/asn1/a_time.c:74:1: <Length trace>
72.   }
73.   
74. > int asn1_time_to_tm(struct tm *tm, const ASN1_TIME *d)
75.   {
76.       static const int min[9] = { 0, 0, 1, 1, 0, 0, 0, 0, 0 };

crypto/asn1/a_time.c:74:1: Parameter `*d->data`
      72.   }
      73.   
      74. > int asn1_time_to_tm(struct tm *tm, const ASN1_TIME *d)
      75.   {
      76.       static const int min[9] = { 0, 0, 1, 1, 0, 0, 0, 0, 0 };

crypto/asn1/a_time.c:110:5: Assignment
      108.   
      109.       l = d->length;
      110.       a = (char *)d->data;
                 ^
      111.       o = 0;
      112.       memset(&tmp, 0, sizeof(tmp));

crypto/asn1/a_time.c:226:18: Array access: Offset: [7, +oo] Size: [0, +oo] by call to `ASN1_GENERALIZEDTIME_print` 
      224.               goto err;
      225.           for (i = end; i < end + 2; i++) {
      226.               if (!ossl_isdigit(a[o]))
                              ^
      227.                   goto err;
      228.               n = a[o] - '0';
