crypto/x509/x509_vfy.c:1807: error: BUFFER_OVERRUN_L3
  Offset: [1, +oo] Size: [0, +oo] by call to `ASN1_TIME_diff`.
Showing all 17 steps of the trace


crypto/x509/x509_vfy.c:1804:21: Call
1802.        * so we go through ASN.1
1803.        */
1804.       asn1_cmp_time = X509_time_adj(NULL, 0, cmp_time);
                            ^
1805.       if (asn1_cmp_time == NULL)
1806.           goto err;

crypto/x509/x509_vfy.c:1826:1: Parameter `*s->data`
  1824.   }
  1825.   
  1826. > ASN1_TIME *X509_time_adj(ASN1_TIME *s, long offset_sec, time_t *in_tm)
  1827.   {
  1828.       return X509_time_adj_ex(s, 0, offset_sec, in_tm);

crypto/x509/x509_vfy.c:1828:12: Call
  1826.   ASN1_TIME *X509_time_adj(ASN1_TIME *s, long offset_sec, time_t *in_tm)
  1827.   {
  1828.       return X509_time_adj_ex(s, 0, offset_sec, in_tm);
                     ^
  1829.   }
  1830.   

crypto/x509/x509_vfy.c:1831:1: Parameter `*s->data`
    1829.   }
    1830.   
    1831. > ASN1_TIME *X509_time_adj_ex(ASN1_TIME *s,
    1832.                               int offset_day, long offset_sec, time_t *in_tm)
    1833.   {

crypto/x509/x509_vfy.c:1843:20: Call
    1841.       if (s && !(s->flags & ASN1_STRING_FLAG_MSTRING)) {
    1842.           if (s->type == V_ASN1_UTCTIME)
    1843.               return ASN1_UTCTIME_adj(s, t, offset_day, offset_sec);
                               ^
    1844.           if (s->type == V_ASN1_GENERALIZEDTIME)
    1845.               return ASN1_GENERALIZEDTIME_adj(s, t, offset_day, offset_sec);

crypto/asn1/a_utctm.c:54:1: Parameter `*s->data`
      52.   }
      53.   
      54. > ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t,
      55.                                  int offset_day, long offset_sec)
      56.   {

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 `*to->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:455:10: Call
  453.       if (!ASN1_TIME_to_tm(from, &tm_from))
  454.           return 0;
  455.       if (!ASN1_TIME_to_tm(to, &tm_to))
                  ^
  456.           return 0;
  457.       return OPENSSL_gmtime_diff(pday, psec, &tm_from, &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 `ASN1_TIME_diff` 
      132.               goto err;
      133.   
      134.           if (!ossl_isdigit(a[o]))
                          ^
      135.               goto err;
      136.           n = (n * 10) + a[o] - '0';
