crypto/ct/ct_prn.c:46: error: BUFFER_OVERRUN_L3
  Offset: [15, +oo] (⇐ 14 + [1, +oo]) Size: [0, +oo] by call to `ASN1_GENERALIZEDTIME_print`.
Showing all 12 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:491:13: <Offset trace>
489.           if (tm->length > 15 && v[14] == '.') {
490.               f = &v[14];
491.               f_len = 1;
                   ^
492.               while (14 + f_len < l && ossl_isdigit(f[f_len]))
493.                   ++f_len;

crypto/asn1/a_time.c:491:13: Assignment
    489.           if (tm->length > 15 && v[14] == '.') {
    490.               f = &v[14];
    491.               f_len = 1;
                       ^
    492.               while (14 + f_len < l && ossl_isdigit(f[f_len]))
    493.                   ++f_len;

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

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:477:5: Assignment
    475.   
    476.       l = tm->length;
    477.       v = (char *)tm->data;
               ^
    478.       if (v[l - 1] == 'Z')
    479.           gmt = 1;

crypto/asn1/a_time.c:490:13: Assignment
    488.            */
    489.           if (tm->length > 15 && v[14] == '.') {
    490.               f = &v[14];
                       ^
    491.               f_len = 1;
    492.               while (14 + f_len < l && ossl_isdigit(f[f_len]))

crypto/asn1/a_time.c:492:38: Array access: Offset: [15, +oo] (⇐ 14 + [1, +oo]) Size: [0, +oo] by call to `ASN1_GENERALIZEDTIME_print` 
    490.               f = &v[14];
    491.               f_len = 1;
    492.               while (14 + f_len < l && ossl_isdigit(f[f_len]))
                                                ^
    493.                   ++f_len;
    494.           }
