apps/s_server.c:2746: error: BUFFER_OVERRUN_L3
  Offset: [-529, +oo] Size: 12 by call to `X509_print`.
Showing all 40 steps of the trace


apps/s_server.c:2741:13: Call
2739.               SSL_SESSION_print(io, SSL_get_session(con));
2740.               BIO_printf(io, "---\n");
2741.               print_stats(io, SSL_get_SSL_CTX(con));
                    ^
2742.               BIO_printf(io, "---\n");
2743.               peer = SSL_get_peer_certificate(con);

apps/s_server.c:1950:16: Call
  1948.   {
  1949.       BIO_printf(bio, "%4ld items in the session cache\n",
  1950.                  SSL_CTX_sess_number(ssl_ctx));
                         ^
  1951.       BIO_printf(bio, "%4ld client connects (SSL_connect())\n",
  1952.                  SSL_CTX_sess_connect(ssl_ctx));

ssl/ssl_lib.c:1116:1: Parameter `*parg`
    1114.   }
    1115.   
    1116. > long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
    1117.   {
    1118.       long l;

apps/s_server.c:1952:16: Call
  1950.                  SSL_CTX_sess_number(ssl_ctx));
  1951.       BIO_printf(bio, "%4ld client connects (SSL_connect())\n",
  1952.                  SSL_CTX_sess_connect(ssl_ctx));
                         ^
  1953.       BIO_printf(bio, "%4ld client renegotiates (SSL_connect())\n",
  1954.                  SSL_CTX_sess_connect_renegotiate(ssl_ctx));

ssl/ssl_lib.c:1116:1: Parameter `*parg`
    1114.   }
    1115.   
    1116. > long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
    1117.   {
    1118.       long l;

apps/s_server.c:1954:16: Call
  1952.                  SSL_CTX_sess_connect(ssl_ctx));
  1953.       BIO_printf(bio, "%4ld client renegotiates (SSL_connect())\n",
  1954.                  SSL_CTX_sess_connect_renegotiate(ssl_ctx));
                         ^
  1955.       BIO_printf(bio, "%4ld client connects that finished\n",
  1956.                  SSL_CTX_sess_connect_good(ssl_ctx));

ssl/ssl_lib.c:1116:1: Parameter `*parg`
    1114.   }
    1115.   
    1116. > long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
    1117.   {
    1118.       long l;

apps/s_server.c:1956:16: Call
  1954.                  SSL_CTX_sess_connect_renegotiate(ssl_ctx));
  1955.       BIO_printf(bio, "%4ld client connects that finished\n",
  1956.                  SSL_CTX_sess_connect_good(ssl_ctx));
                         ^
  1957.       BIO_printf(bio, "%4ld server accepts (SSL_accept())\n",
  1958.                  SSL_CTX_sess_accept(ssl_ctx));

ssl/ssl_lib.c:1116:1: Parameter `*parg`
    1114.   }
    1115.   
    1116. > long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
    1117.   {
    1118.       long l;

apps/s_server.c:1958:16: Call
  1956.                  SSL_CTX_sess_connect_good(ssl_ctx));
  1957.       BIO_printf(bio, "%4ld server accepts (SSL_accept())\n",
  1958.                  SSL_CTX_sess_accept(ssl_ctx));
                         ^
  1959.       BIO_printf(bio, "%4ld server renegotiates (SSL_accept())\n",
  1960.                  SSL_CTX_sess_accept_renegotiate(ssl_ctx));

ssl/ssl_lib.c:1116:1: Parameter `*parg`
    1114.   }
    1115.   
    1116. > long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
    1117.   {
    1118.       long l;

apps/s_server.c:1960:16: Call
  1958.                  SSL_CTX_sess_accept(ssl_ctx));
  1959.       BIO_printf(bio, "%4ld server renegotiates (SSL_accept())\n",
  1960.                  SSL_CTX_sess_accept_renegotiate(ssl_ctx));
                         ^
  1961.       BIO_printf(bio, "%4ld server accepts that finished\n",
  1962.                  SSL_CTX_sess_accept_good(ssl_ctx));

ssl/ssl_lib.c:1116:1: Parameter `*parg`
    1114.   }
    1115.   
    1116. > long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
    1117.   {
    1118.       long l;

apps/s_server.c:1962:16: Call
  1960.                  SSL_CTX_sess_accept_renegotiate(ssl_ctx));
  1961.       BIO_printf(bio, "%4ld server accepts that finished\n",
  1962.                  SSL_CTX_sess_accept_good(ssl_ctx));
                         ^
  1963.       BIO_printf(bio, "%4ld session cache hits\n", SSL_CTX_sess_hits(ssl_ctx));
  1964.       BIO_printf(bio, "%4ld session cache misses\n",

ssl/ssl_lib.c:1116:1: Parameter `*parg`
    1114.   }
    1115.   
    1116. > long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
    1117.   {
    1118.       long l;

apps/s_server.c:1963:50: Call
  1961.       BIO_printf(bio, "%4ld server accepts that finished\n",
  1962.                  SSL_CTX_sess_accept_good(ssl_ctx));
  1963.       BIO_printf(bio, "%4ld session cache hits\n", SSL_CTX_sess_hits(ssl_ctx));
                                                           ^
  1964.       BIO_printf(bio, "%4ld session cache misses\n",
  1965.                  SSL_CTX_sess_misses(ssl_ctx));

ssl/ssl_lib.c:1116:1: Parameter `*parg`
    1114.   }
    1115.   
    1116. > long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
    1117.   {
    1118.       long l;

apps/s_server.c:1965:16: Call
  1963.       BIO_printf(bio, "%4ld session cache hits\n", SSL_CTX_sess_hits(ssl_ctx));
  1964.       BIO_printf(bio, "%4ld session cache misses\n",
  1965.                  SSL_CTX_sess_misses(ssl_ctx));
                         ^
  1966.       BIO_printf(bio, "%4ld session cache timeouts\n",
  1967.                  SSL_CTX_sess_timeouts(ssl_ctx));

ssl/ssl_lib.c:1116:1: Parameter `*parg`
    1114.   }
    1115.   
    1116. > long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
    1117.   {
    1118.       long l;

apps/s_server.c:1967:16: Call
  1965.                  SSL_CTX_sess_misses(ssl_ctx));
  1966.       BIO_printf(bio, "%4ld session cache timeouts\n",
  1967.                  SSL_CTX_sess_timeouts(ssl_ctx));
                         ^
  1968.       BIO_printf(bio, "%4ld callback cache hits\n",
  1969.                  SSL_CTX_sess_cb_hits(ssl_ctx));

ssl/ssl_lib.c:1116:1: Parameter `*parg`
    1114.   }
    1115.   
    1116. > long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
    1117.   {
    1118.       long l;

apps/s_server.c:1969:16: Call
  1967.                  SSL_CTX_sess_timeouts(ssl_ctx));
  1968.       BIO_printf(bio, "%4ld callback cache hits\n",
  1969.                  SSL_CTX_sess_cb_hits(ssl_ctx));
                         ^
  1970.       BIO_printf(bio, "%4ld cache full overflows (%ld allowed)\n",
  1971.                  SSL_CTX_sess_cache_full(ssl_ctx),

ssl/ssl_lib.c:1116:1: Parameter `*parg`
    1114.   }
    1115.   
    1116. > long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
    1117.   {
    1118.       long l;

apps/s_server.c:1971:16: Call
  1969.                  SSL_CTX_sess_cb_hits(ssl_ctx));
  1970.       BIO_printf(bio, "%4ld cache full overflows (%ld allowed)\n",
  1971.                  SSL_CTX_sess_cache_full(ssl_ctx),
                         ^
  1972.                  SSL_CTX_sess_get_cache_size(ssl_ctx));
  1973.   }

ssl/ssl_lib.c:1116:1: Parameter `*parg`
    1114.   }
    1115.   
    1116. > long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
    1117.   {
    1118.       long l;

apps/s_server.c:1972:16: Call
  1970.       BIO_printf(bio, "%4ld cache full overflows (%ld allowed)\n",
  1971.                  SSL_CTX_sess_cache_full(ssl_ctx),
  1972.                  SSL_CTX_sess_get_cache_size(ssl_ctx));
                         ^
  1973.   }
  1974.   

ssl/ssl_lib.c:1116:1: Parameter `*parg`
    1114.   }
    1115.   
    1116. > long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
    1117.   {
    1118.       long l;

apps/s_server.c:2746:17: Call
2744.               if (peer != NULL) {
2745.                   BIO_printf(io, "Client certificate\n");
2746.                   X509_print(io, peer);
                        ^
2747.                   PEM_write_bio_X509(io, peer);
2748.               } else

crypto/x509/t_x509.c:92:1: Parameter `*x->cert_info.validity.notAfter->data`
  90.   #endif
  91.   
  92. > int X509_print(BIO *bp, X509 *x)
  93.   {
  94.       return X509_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);

crypto/x509/t_x509.c:94:12: Call
  92.   int X509_print(BIO *bp, X509 *x)
  93.   {
  94.       return X509_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
                   ^
  95.   }
  96.   

crypto/x509/t_x509.c:97:1: Parameter `*x->cert_info.validity.notAfter->data`
    95.   }
    96.   
    97. > int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags,
    98.                     unsigned long cflag)
    99.   {

crypto/x509/t_x509.c:187:14: Call
    185.           if (BIO_write(bp, "\n            Not After : ", 25) <= 0)
    186.               goto err;
    187.           if (!ASN1_TIME_print(bp, X509_get_notAfter(x)))
                        ^
    188.               goto err;
    189.           if (BIO_write(bp, "\n", 1) <= 0)

crypto/asn1/a_time.c:202:1: Parameter `*tm->data`
      200.   }
      201.   
      202. > int ASN1_TIME_print(BIO *bp, const ASN1_TIME *tm)
      203.   {
      204.       if (tm->type == V_ASN1_UTCTIME)

crypto/asn1/a_time.c:207:16: Call
      205.           return ASN1_UTCTIME_print(bp, tm);
      206.       if (tm->type == V_ASN1_GENERALIZEDTIME)
      207.           return ASN1_GENERALIZEDTIME_print(bp, tm);
                            ^
      208.       BIO_write(bp, "Bad time value", 14);
      209.       return (0);

crypto/asn1/a_gentm.c:266:1: <Offset trace>
264.   };
265.   
266. > int ASN1_GENERALIZEDTIME_print(BIO *bp, const ASN1_GENERALIZEDTIME *tm)
267.   {
268.       char *v;

crypto/asn1/a_gentm.c:266:1: Parameter `*tm->data`
        264.   };
        265.   
        266. > int ASN1_GENERALIZEDTIME_print(BIO *bp, const ASN1_GENERALIZEDTIME *tm)
        267.   {
        268.       char *v;

crypto/asn1/a_gentm.c:287:5: Assignment
        285.       y = (v[0] - '0') * 1000 + (v[1] - '0') * 100
        286.           + (v[2] - '0') * 10 + (v[3] - '0');
        287.       M = (v[4] - '0') * 10 + (v[5] - '0');
                   ^
        288.       if ((M > 12) || (M < 1))
        289.           goto err;

crypto/asn1/a_gentm.c:261:1: <Length trace>
259.   }
260.   
261. > const char *_asn1_mon[12] = {
262.       "Jan", "Feb", "Mar", "Apr", "May", "Jun",
263.       "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"

crypto/asn1/a_gentm.c:261:1: Array declaration
        259.   }
        260.   
        261. > const char *_asn1_mon[12] = {
        262.       "Jan", "Feb", "Mar", "Apr", "May", "Jun",
        263.       "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"

crypto/asn1/a_gentm.c:308:20: Array access: Offset: [-529, +oo] Size: 12 by call to `X509_print` 
        306.   
        307.       if (BIO_printf(bp, "%s %2d %02d:%02d:%02d%.*s %d%s",
        308.                      _asn1_mon[M - 1], d, h, m, s, f_len, f, y,
                                  ^
        309.                      (gmt) ? " GMT" : "") <= 0)
        310.           return (0);
