apps/s_server.c:3062: 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:3056:4: Call
3054.   			SSL_SESSION_print(io,SSL_get_session(con));
3055.   			BIO_printf(io,"---\n");
3056.   			print_stats(io,SSL_get_SSL_CTX(con));
           ^
3057.   			BIO_printf(io,"---\n");
3058.   			peer=SSL_get_peer_certificate(con);

apps/s_server.c:2172:3: Call
  2170.   	{
  2171.   	BIO_printf(bio,"%4ld items in the session cache\n",
  2172.   		SSL_CTX_sess_number(ssl_ctx));
            ^
  2173.   	BIO_printf(bio,"%4ld client connects (SSL_connect())\n",
  2174.   		SSL_CTX_sess_connect(ssl_ctx));

ssl/ssl_lib.c:1169:1: Parameter `*parg`
    1167.   	}
    1168.   
    1169. > long SSL_CTX_ctrl(SSL_CTX *ctx,int cmd,long larg,void *parg)
    1170.   	{
    1171.   	long l;

apps/s_server.c:2174:3: Call
  2172.   		SSL_CTX_sess_number(ssl_ctx));
  2173.   	BIO_printf(bio,"%4ld client connects (SSL_connect())\n",
  2174.   		SSL_CTX_sess_connect(ssl_ctx));
            ^
  2175.   	BIO_printf(bio,"%4ld client renegotiates (SSL_connect())\n",
  2176.   		SSL_CTX_sess_connect_renegotiate(ssl_ctx));

ssl/ssl_lib.c:1169:1: Parameter `*parg`
    1167.   	}
    1168.   
    1169. > long SSL_CTX_ctrl(SSL_CTX *ctx,int cmd,long larg,void *parg)
    1170.   	{
    1171.   	long l;

apps/s_server.c:2176:3: Call
  2174.   		SSL_CTX_sess_connect(ssl_ctx));
  2175.   	BIO_printf(bio,"%4ld client renegotiates (SSL_connect())\n",
  2176.   		SSL_CTX_sess_connect_renegotiate(ssl_ctx));
            ^
  2177.   	BIO_printf(bio,"%4ld client connects that finished\n",
  2178.   		SSL_CTX_sess_connect_good(ssl_ctx));

ssl/ssl_lib.c:1169:1: Parameter `*parg`
    1167.   	}
    1168.   
    1169. > long SSL_CTX_ctrl(SSL_CTX *ctx,int cmd,long larg,void *parg)
    1170.   	{
    1171.   	long l;

apps/s_server.c:2178:3: Call
  2176.   		SSL_CTX_sess_connect_renegotiate(ssl_ctx));
  2177.   	BIO_printf(bio,"%4ld client connects that finished\n",
  2178.   		SSL_CTX_sess_connect_good(ssl_ctx));
            ^
  2179.   	BIO_printf(bio,"%4ld server accepts (SSL_accept())\n",
  2180.   		SSL_CTX_sess_accept(ssl_ctx));

ssl/ssl_lib.c:1169:1: Parameter `*parg`
    1167.   	}
    1168.   
    1169. > long SSL_CTX_ctrl(SSL_CTX *ctx,int cmd,long larg,void *parg)
    1170.   	{
    1171.   	long l;

apps/s_server.c:2180:3: Call
  2178.   		SSL_CTX_sess_connect_good(ssl_ctx));
  2179.   	BIO_printf(bio,"%4ld server accepts (SSL_accept())\n",
  2180.   		SSL_CTX_sess_accept(ssl_ctx));
            ^
  2181.   	BIO_printf(bio,"%4ld server renegotiates (SSL_accept())\n",
  2182.   		SSL_CTX_sess_accept_renegotiate(ssl_ctx));

ssl/ssl_lib.c:1169:1: Parameter `*parg`
    1167.   	}
    1168.   
    1169. > long SSL_CTX_ctrl(SSL_CTX *ctx,int cmd,long larg,void *parg)
    1170.   	{
    1171.   	long l;

apps/s_server.c:2182:3: Call
  2180.   		SSL_CTX_sess_accept(ssl_ctx));
  2181.   	BIO_printf(bio,"%4ld server renegotiates (SSL_accept())\n",
  2182.   		SSL_CTX_sess_accept_renegotiate(ssl_ctx));
            ^
  2183.   	BIO_printf(bio,"%4ld server accepts that finished\n",
  2184.   		SSL_CTX_sess_accept_good(ssl_ctx));

ssl/ssl_lib.c:1169:1: Parameter `*parg`
    1167.   	}
    1168.   
    1169. > long SSL_CTX_ctrl(SSL_CTX *ctx,int cmd,long larg,void *parg)
    1170.   	{
    1171.   	long l;

apps/s_server.c:2184:3: Call
  2182.   		SSL_CTX_sess_accept_renegotiate(ssl_ctx));
  2183.   	BIO_printf(bio,"%4ld server accepts that finished\n",
  2184.   		SSL_CTX_sess_accept_good(ssl_ctx));
            ^
  2185.   	BIO_printf(bio,"%4ld session cache hits\n",SSL_CTX_sess_hits(ssl_ctx));
  2186.   	BIO_printf(bio,"%4ld session cache misses\n",SSL_CTX_sess_misses(ssl_ctx));

ssl/ssl_lib.c:1169:1: Parameter `*parg`
    1167.   	}
    1168.   
    1169. > long SSL_CTX_ctrl(SSL_CTX *ctx,int cmd,long larg,void *parg)
    1170.   	{
    1171.   	long l;

apps/s_server.c:2185:45: Call
  2183.   	BIO_printf(bio,"%4ld server accepts that finished\n",
  2184.   		SSL_CTX_sess_accept_good(ssl_ctx));
  2185.   	BIO_printf(bio,"%4ld session cache hits\n",SSL_CTX_sess_hits(ssl_ctx));
                                                      ^
  2186.   	BIO_printf(bio,"%4ld session cache misses\n",SSL_CTX_sess_misses(ssl_ctx));
  2187.   	BIO_printf(bio,"%4ld session cache timeouts\n",SSL_CTX_sess_timeouts(ssl_ctx));

ssl/ssl_lib.c:1169:1: Parameter `*parg`
    1167.   	}
    1168.   
    1169. > long SSL_CTX_ctrl(SSL_CTX *ctx,int cmd,long larg,void *parg)
    1170.   	{
    1171.   	long l;

apps/s_server.c:2186:47: Call
  2184.   		SSL_CTX_sess_accept_good(ssl_ctx));
  2185.   	BIO_printf(bio,"%4ld session cache hits\n",SSL_CTX_sess_hits(ssl_ctx));
  2186.   	BIO_printf(bio,"%4ld session cache misses\n",SSL_CTX_sess_misses(ssl_ctx));
                                                        ^
  2187.   	BIO_printf(bio,"%4ld session cache timeouts\n",SSL_CTX_sess_timeouts(ssl_ctx));
  2188.   	BIO_printf(bio,"%4ld callback cache hits\n",SSL_CTX_sess_cb_hits(ssl_ctx));

ssl/ssl_lib.c:1169:1: Parameter `*parg`
    1167.   	}
    1168.   
    1169. > long SSL_CTX_ctrl(SSL_CTX *ctx,int cmd,long larg,void *parg)
    1170.   	{
    1171.   	long l;

apps/s_server.c:2187:49: Call
  2185.   	BIO_printf(bio,"%4ld session cache hits\n",SSL_CTX_sess_hits(ssl_ctx));
  2186.   	BIO_printf(bio,"%4ld session cache misses\n",SSL_CTX_sess_misses(ssl_ctx));
  2187.   	BIO_printf(bio,"%4ld session cache timeouts\n",SSL_CTX_sess_timeouts(ssl_ctx));
                                                          ^
  2188.   	BIO_printf(bio,"%4ld callback cache hits\n",SSL_CTX_sess_cb_hits(ssl_ctx));
  2189.   	BIO_printf(bio,"%4ld cache full overflows (%ld allowed)\n",

ssl/ssl_lib.c:1169:1: Parameter `*parg`
    1167.   	}
    1168.   
    1169. > long SSL_CTX_ctrl(SSL_CTX *ctx,int cmd,long larg,void *parg)
    1170.   	{
    1171.   	long l;

apps/s_server.c:2188:46: Call
  2186.   	BIO_printf(bio,"%4ld session cache misses\n",SSL_CTX_sess_misses(ssl_ctx));
  2187.   	BIO_printf(bio,"%4ld session cache timeouts\n",SSL_CTX_sess_timeouts(ssl_ctx));
  2188.   	BIO_printf(bio,"%4ld callback cache hits\n",SSL_CTX_sess_cb_hits(ssl_ctx));
                                                       ^
  2189.   	BIO_printf(bio,"%4ld cache full overflows (%ld allowed)\n",
  2190.   		SSL_CTX_sess_cache_full(ssl_ctx),

ssl/ssl_lib.c:1169:1: Parameter `*parg`
    1167.   	}
    1168.   
    1169. > long SSL_CTX_ctrl(SSL_CTX *ctx,int cmd,long larg,void *parg)
    1170.   	{
    1171.   	long l;

apps/s_server.c:2190:3: Call
  2188.   	BIO_printf(bio,"%4ld callback cache hits\n",SSL_CTX_sess_cb_hits(ssl_ctx));
  2189.   	BIO_printf(bio,"%4ld cache full overflows (%ld allowed)\n",
  2190.   		SSL_CTX_sess_cache_full(ssl_ctx),
            ^
  2191.   		SSL_CTX_sess_get_cache_size(ssl_ctx));
  2192.   	}

ssl/ssl_lib.c:1169:1: Parameter `*parg`
    1167.   	}
    1168.   
    1169. > long SSL_CTX_ctrl(SSL_CTX *ctx,int cmd,long larg,void *parg)
    1170.   	{
    1171.   	long l;

apps/s_server.c:2191:3: Call
  2189.   	BIO_printf(bio,"%4ld cache full overflows (%ld allowed)\n",
  2190.   		SSL_CTX_sess_cache_full(ssl_ctx),
  2191.   		SSL_CTX_sess_get_cache_size(ssl_ctx));
            ^
  2192.   	}
  2193.   

ssl/ssl_lib.c:1169:1: Parameter `*parg`
    1167.   	}
    1168.   
    1169. > long SSL_CTX_ctrl(SSL_CTX *ctx,int cmd,long larg,void *parg)
    1170.   	{
    1171.   	long l;

apps/s_server.c:3062:5: Call
3060.   				{
3061.   				BIO_printf(io,"Client certificate\n");
3062.   				X509_print(io,peer);
            ^
3063.   				PEM_write_bio_X509(io,peer);
3064.   				}

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:9: 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, unsigned long cflag)
    106.   	{
    107.   	long l;

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

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

crypto/asn1/t_x509.c:393:12: Call
      391.   	if(tm->type == V_ASN1_UTCTIME) 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:404:1: <Offset trace>
402.       };
403.   
404. > int ASN1_GENERALIZEDTIME_print(BIO *bp, const ASN1_GENERALIZEDTIME *tm)
405.   	{
406.   	char *v;

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

crypto/asn1/t_x509.c:421:2: Assignment
        419.   		if ((v[i] > '9') || (v[i] < '0')) goto err;
        420.   	y= (v[0]-'0')*1000+(v[1]-'0')*100 + (v[2]-'0')*10+(v[3]-'0');
        421.   	M= (v[4]-'0')*10+(v[5]-'0');
                ^
        422.   	if ((M > 12) || (M < 1)) goto err;
        423.   	d= (v[6]-'0')*10+(v[7]-'0');

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

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

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