test/x509_time_test.c:286: error: BUFFER_OVERRUN_L3
  Offset: [1, +oo] Size: [0, +oo] by call to `X509_cmp_time`.
Showing all 17 steps of the trace


test/x509_time_test.c:283:19: Call
281.       int cmp_result, failed = 0;
282.   
283.       asn1_before = ASN1_TIME_adj(NULL, now, -1, 0);
                         ^
284.       asn1_after = ASN1_TIME_adj(NULL, now, 1, 0);
285.   

crypto/asn1/a_time.c:318:1: Parameter `*s->data`
  316.   }
  317.   
  318. > ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s, time_t t,
  319.                            int offset_day, long offset_sec)
  320.   {

test/x509_time_test.c:284:18: Call
282.   
283.       asn1_before = ASN1_TIME_adj(NULL, now, -1, 0);
284.       asn1_after = ASN1_TIME_adj(NULL, now, 1, 0);
                        ^
285.   
286.       cmp_result  = X509_cmp_time(asn1_before, NULL);

crypto/asn1/a_time.c:318:1: Parameter `*s->data`
  316.   }
  317.   
  318. > ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s, time_t t,
  319.                            int offset_day, long offset_sec)
  320.   {

test/x509_time_test.c:286:19: Call
284.       asn1_after = ASN1_TIME_adj(NULL, now, 1, 0);
285.   
286.       cmp_result  = X509_cmp_time(asn1_before, NULL);
                         ^
287.       if (!TEST_int_eq(cmp_result, -1))
288.           failed = 1;

crypto/x509/x509_vfy.c:1756:1: Parameter `*ctm->data`
  1754.   }
  1755.   
  1756. > int X509_cmp_time(const ASN1_TIME *ctm, time_t *cmp_time)
  1757.   {
  1758.       static const size_t utctime_length = sizeof("YYMMDDHHMMSSZ") - 1;

crypto/x509/x509_vfy.c:1807:10: Call
  1805.       if (asn1_cmp_time == NULL)
  1806.           goto err;
  1807.       if (!ASN1_TIME_diff(&day, &sec, ctm, asn1_cmp_time))
                   ^
  1808.           goto err;
  1809.   

crypto/asn1/a_time.c:448:1: Parameter `*from->data`
    446.   }
    447.   
    448. > int ASN1_TIME_diff(int *pday, int *psec,
    449.                      const ASN1_TIME *from, const ASN1_TIME *to)
    450.   {

crypto/asn1/a_time.c:453:10: Call
    451.       struct tm tm_from, tm_to;
    452.   
    453.       if (!ASN1_TIME_to_tm(from, &tm_from))
                    ^
    454.           return 0;
    455.       if (!ASN1_TIME_to_tm(to, &tm_to))

crypto/asn1/a_time.c:433:1: Parameter `*s->data`
      431.   }
      432.   
      433. > int ASN1_TIME_to_tm(const ASN1_TIME *s, struct tm *tm)
      434.   {
      435.       if (s == NULL) {

crypto/asn1/a_time.c:445:12: Call
      443.       }
      444.   
      445.       return asn1_time_to_tm(tm, s);
                        ^
      446.   }
      447.   

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:134:14: Array access: Offset: [1, +oo] Size: [0, +oo] by call to `X509_cmp_time` 
        132.               goto err;
        133.   
        134.           if (!ossl_isdigit(a[o]))
                            ^
        135.               goto err;
        136.           n = (n * 10) + a[o] - '0';
