projects
/
privoxy.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Block requests to .s400.meetrics.net/
[privoxy.git]
/
openssl.c
diff --git
a/openssl.c
b/openssl.c
index
32f8f27
..
e3717af
100644
(file)
--- a/
openssl.c
+++ b/
openssl.c
@@
-654,6
+654,13
@@
static int ssl_store_cert(struct client_state *csp, X509* crt)
BIO_write(bio, &zero, 1);
len = BIO_get_mem_data(bio, &bio_mem_data);
BIO_write(bio, &zero, 1);
len = BIO_get_mem_data(bio, &bio_mem_data);
+ if (len <= 0)
+ {
+ log_error(LOG_LEVEL_ERROR, "BIO_get_mem_data() returned %d "
+ "while gathering certificate information", len);
+ ret = -1;
+ goto exit;
+ }
encoded_text = html_encode(bio_mem_data);
if (encoded_text == NULL)
{
encoded_text = html_encode(bio_mem_data);
if (encoded_text == NULL)
{
@@
-1141,7
+1148,8
@@
extern int create_server_ssl_connection(struct client_state *csp)
chain = SSL_get_peer_cert_chain(ssl);
if (chain)
{
chain = SSL_get_peer_cert_chain(ssl);
if (chain)
{
- for (int i = 0; i < sk_X509_num(chain); i++)
+ int i;
+ for (i = 0; i < sk_X509_num(chain); i++)
{
if (ssl_store_cert(csp, sk_X509_value(chain, i)) != 0)
{
{
if (ssl_store_cert(csp, sk_X509_value(chain, i)) != 0)
{