apps/s_server.c:2721: 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:2716:13: Call
2714.               SSL_SESSION_print(io, SSL_get_session(con));
2715.               BIO_printf(io, "---\n");
2716.               print_stats(io, SSL_get_SSL_CTX(con));
                    ^
2717.               BIO_printf(io, "---\n");
2718.               peer = SSL_get_peer_certificate(con);

apps/s_server.c:1940:16: Call
  1938.   {
  1939.       BIO_printf(bio, "%4ld items in the session cache\n",
  1940.                  SSL_CTX_sess_number(ssl_ctx));
                         ^
  1941.       BIO_printf(bio, "%4ld client connects (SSL_connect())\n",
  1942.                  SSL_CTX_sess_connect(ssl_ctx));

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

apps/s_server.c:1942:16: Call
  1940.                  SSL_CTX_sess_number(ssl_ctx));
  1941.       BIO_printf(bio, "%4ld client connects (SSL_connect())\n",
  1942.                  SSL_CTX_sess_connect(ssl_ctx));
                         ^
  1943.       BIO_printf(bio, "%4ld client renegotiates (SSL_connect())\n",
  1944.                  SSL_CTX_sess_connect_renegotiate(ssl_ctx));

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

apps/s_server.c:1944:16: Call
  1942.                  SSL_CTX_sess_connect(ssl_ctx));
  1943.       BIO_printf(bio, "%4ld client renegotiates (SSL_connect())\n",
  1944.                  SSL_CTX_sess_connect_renegotiate(ssl_ctx));
                         ^
  1945.       BIO_printf(bio, "%4ld client connects that finished\n",
  1946.                  SSL_CTX_sess_connect_good(ssl_ctx));

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

apps/s_server.c:1946:16: Call
  1944.                  SSL_CTX_sess_connect_renegotiate(ssl_ctx));
  1945.       BIO_printf(bio, "%4ld client connects that finished\n",
  1946.                  SSL_CTX_sess_connect_good(ssl_ctx));
                         ^
  1947.       BIO_printf(bio, "%4ld server accepts (SSL_accept())\n",
  1948.                  SSL_CTX_sess_accept(ssl_ctx));

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

apps/s_server.c:1948:16: Call
  1946.                  SSL_CTX_sess_connect_good(ssl_ctx));
  1947.       BIO_printf(bio, "%4ld server accepts (SSL_accept())\n",
  1948.                  SSL_CTX_sess_accept(ssl_ctx));
                         ^
  1949.       BIO_printf(bio, "%4ld server renegotiates (SSL_accept())\n",
  1950.                  SSL_CTX_sess_accept_renegotiate(ssl_ctx));

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

apps/s_server.c:1950:16: Call
  1948.                  SSL_CTX_sess_accept(ssl_ctx));
  1949.       BIO_printf(bio, "%4ld server renegotiates (SSL_accept())\n",
  1950.                  SSL_CTX_sess_accept_renegotiate(ssl_ctx));
                         ^
  1951.       BIO_printf(bio, "%4ld server accepts that finished\n",
  1952.                  SSL_CTX_sess_accept_good(ssl_ctx));

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

apps/s_server.c:1952:16: Call
  1950.                  SSL_CTX_sess_accept_renegotiate(ssl_ctx));
  1951.       BIO_printf(bio, "%4ld server accepts that finished\n",
  1952.                  SSL_CTX_sess_accept_good(ssl_ctx));
                         ^
  1953.       BIO_printf(bio, "%4ld session cache hits\n", SSL_CTX_sess_hits(ssl_ctx));
  1954.       BIO_printf(bio, "%4ld session cache misses\n",

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

apps/s_server.c:1953:50: Call
  1951.       BIO_printf(bio, "%4ld server accepts that finished\n",
  1952.                  SSL_CTX_sess_accept_good(ssl_ctx));
  1953.       BIO_printf(bio, "%4ld session cache hits\n", SSL_CTX_sess_hits(ssl_ctx));
                                                           ^
  1954.       BIO_printf(bio, "%4ld session cache misses\n",
  1955.                  SSL_CTX_sess_misses(ssl_ctx));

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

apps/s_server.c:1955:16: Call
  1953.       BIO_printf(bio, "%4ld session cache hits\n", SSL_CTX_sess_hits(ssl_ctx));
  1954.       BIO_printf(bio, "%4ld session cache misses\n",
  1955.                  SSL_CTX_sess_misses(ssl_ctx));
                         ^
  1956.       BIO_printf(bio, "%4ld session cache timeouts\n",
  1957.                  SSL_CTX_sess_timeouts(ssl_ctx));

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

apps/s_server.c:1957:16: Call
  1955.                  SSL_CTX_sess_misses(ssl_ctx));
  1956.       BIO_printf(bio, "%4ld session cache timeouts\n",
  1957.                  SSL_CTX_sess_timeouts(ssl_ctx));
                         ^
  1958.       BIO_printf(bio, "%4ld callback cache hits\n",
  1959.                  SSL_CTX_sess_cb_hits(ssl_ctx));

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

apps/s_server.c:1959:16: Call
  1957.                  SSL_CTX_sess_timeouts(ssl_ctx));
  1958.       BIO_printf(bio, "%4ld callback cache hits\n",
  1959.                  SSL_CTX_sess_cb_hits(ssl_ctx));
                         ^
  1960.       BIO_printf(bio, "%4ld cache full overflows (%ld allowed)\n",
  1961.                  SSL_CTX_sess_cache_full(ssl_ctx),

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

apps/s_server.c:1961:16: Call
  1959.                  SSL_CTX_sess_cb_hits(ssl_ctx));
  1960.       BIO_printf(bio, "%4ld cache full overflows (%ld allowed)\n",
  1961.                  SSL_CTX_sess_cache_full(ssl_ctx),
                         ^
  1962.                  SSL_CTX_sess_get_cache_size(ssl_ctx));
  1963.   }

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

apps/s_server.c:1962:16: Call
  1960.       BIO_printf(bio, "%4ld cache full overflows (%ld allowed)\n",
  1961.                  SSL_CTX_sess_cache_full(ssl_ctx),
  1962.                  SSL_CTX_sess_get_cache_size(ssl_ctx));
                         ^
  1963.   }
  1964.   

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

apps/s_server.c:2721:17: Call
2719.               if (peer != NULL) {
2720.                   BIO_printf(io, "Client certificate\n");
2721.                   X509_print(io, peer);
                        ^
2722.                   PEM_write_bio_X509(io, peer);
2723.               } else

crypto/asn1/t_x509.c:100:1: Parameter `*x->cert_info.validity.notAfter->data`
  98.   #endif
  99.   
  100. > int X509_print(BIO *bp, X509 *x)
  101.   {
  102.       return X509_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);

crypto/asn1/t_x509.c:102:12: Call
  100.   int X509_print(BIO *bp, X509 *x)
  101.   {
  102.       return X509_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
                    ^
  103.   }
  104.   

crypto/asn1/t_x509.c:105:1: Parameter `*x->cert_info.validity.notAfter->data`
    103.   }
    104.   
    105. > int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags,
    106.                     unsigned long cflag)
    107.   {

crypto/asn1/t_x509.c:195:14: Call
    193.           if (BIO_write(bp, "\n            Not After : ", 25) <= 0)
    194.               goto err;
    195.           if (!ASN1_TIME_print(bp, X509_get_notAfter(x)))
                        ^
    196.               goto err;
    197.           if (BIO_write(bp, "\n", 1) <= 0)

crypto/asn1/t_x509.c:388:1: Parameter `*tm->data`
      386.   }
      387.   
      388. > int ASN1_TIME_print(BIO *bp, const ASN1_TIME *tm)
      389.   {
      390.       if (tm->type == V_ASN1_UTCTIME)

crypto/asn1/t_x509.c:393:16: Call
      391.           return ASN1_UTCTIME_print(bp, tm);
      392.       if (tm->type == V_ASN1_GENERALIZEDTIME)
      393.           return ASN1_GENERALIZEDTIME_print(bp, tm);
                            ^
      394.       BIO_write(bp, "Bad time value", 14);
      395.       return (0);

crypto/asn1/t_x509.c:403:1: <Offset trace>
401.   };
402.   
403. > int ASN1_GENERALIZEDTIME_print(BIO *bp, const ASN1_GENERALIZEDTIME *tm)
404.   {
405.       char *v;

crypto/asn1/t_x509.c:403:1: Parameter `*tm->data`
        401.   };
        402.   
        403. > int ASN1_GENERALIZEDTIME_print(BIO *bp, const ASN1_GENERALIZEDTIME *tm)
        404.   {
        405.       char *v;

crypto/asn1/t_x509.c:424:5: Assignment
        422.       y = (v[0] - '0') * 1000 + (v[1] - '0') * 100
        423.           + (v[2] - '0') * 10 + (v[3] - '0');
        424.       M = (v[4] - '0') * 10 + (v[5] - '0');
                   ^
        425.       if ((M > 12) || (M < 1))
        426.           goto err;

crypto/asn1/t_x509.c:398:1: <Length trace>
396.   }
397.   
398. > static const char *mon[12] = {
399.       "Jan", "Feb", "Mar", "Apr", "May", "Jun",
400.       "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"

crypto/asn1/t_x509.c:398:1: Array declaration
        396.   }
        397.   
        398. > static const char *mon[12] = {
        399.       "Jan", "Feb", "Mar", "Apr", "May", "Jun",
        400.       "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"

crypto/asn1/t_x509.c:445:20: Array access: Offset: [-529, +oo] Size: 12 by call to `X509_print` 
        443.   
        444.       if (BIO_printf(bp, "%s %2d %02d:%02d:%02d%.*s %d%s",
        445.                      mon[M - 1], d, h, m, s, f_len, f, y,
                                  ^
        446.                      (gmt) ? " GMT" : "") <= 0)
        447.           return (0);
