Minor compatibility fixes [from HEAD].
PR: 2790 Submitted by: Alexei Khlebnikov
This commit is contained in:
parent
09f17419a6
commit
94c666479d
@ -521,40 +521,40 @@ void BIO_free_all(BIO *bio)
|
|||||||
|
|
||||||
BIO *BIO_dup_chain(BIO *in)
|
BIO *BIO_dup_chain(BIO *in)
|
||||||
{
|
{
|
||||||
BIO *ret=NULL,*eoc=NULL,*bio,*new;
|
BIO *ret=NULL,*eoc=NULL,*bio,*new_bio;
|
||||||
|
|
||||||
for (bio=in; bio != NULL; bio=bio->next_bio)
|
for (bio=in; bio != NULL; bio=bio->next_bio)
|
||||||
{
|
{
|
||||||
if ((new=BIO_new(bio->method)) == NULL) goto err;
|
if ((new_bio=BIO_new(bio->method)) == NULL) goto err;
|
||||||
new->callback=bio->callback;
|
new_bio->callback=bio->callback;
|
||||||
new->cb_arg=bio->cb_arg;
|
new_bio->cb_arg=bio->cb_arg;
|
||||||
new->init=bio->init;
|
new_bio->init=bio->init;
|
||||||
new->shutdown=bio->shutdown;
|
new_bio->shutdown=bio->shutdown;
|
||||||
new->flags=bio->flags;
|
new_bio->flags=bio->flags;
|
||||||
|
|
||||||
/* This will let SSL_s_sock() work with stdin/stdout */
|
/* This will let SSL_s_sock() work with stdin/stdout */
|
||||||
new->num=bio->num;
|
new_bio->num=bio->num;
|
||||||
|
|
||||||
if (!BIO_dup_state(bio,(char *)new))
|
if (!BIO_dup_state(bio,(char *)new_bio))
|
||||||
{
|
{
|
||||||
BIO_free(new);
|
BIO_free(new_bio);
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* copy app data */
|
/* copy app data */
|
||||||
if (!CRYPTO_dup_ex_data(CRYPTO_EX_INDEX_BIO, &new->ex_data,
|
if (!CRYPTO_dup_ex_data(CRYPTO_EX_INDEX_BIO, &new_bio->ex_data,
|
||||||
&bio->ex_data))
|
&bio->ex_data))
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
if (ret == NULL)
|
if (ret == NULL)
|
||||||
{
|
{
|
||||||
eoc=new;
|
eoc=new_bio;
|
||||||
ret=eoc;
|
ret=eoc;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
BIO_push(eoc,new);
|
BIO_push(eoc,new_bio);
|
||||||
eoc=new;
|
eoc=new_bio;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return(ret);
|
return(ret);
|
||||||
|
@ -87,7 +87,7 @@ void X509_LOOKUP_free(X509_LOOKUP *ctx)
|
|||||||
if (ctx == NULL) return;
|
if (ctx == NULL) return;
|
||||||
if ( (ctx->method != NULL) &&
|
if ( (ctx->method != NULL) &&
|
||||||
(ctx->method->free != NULL))
|
(ctx->method->free != NULL))
|
||||||
ctx->method->free(ctx);
|
(*ctx->method->free)(ctx);
|
||||||
OPENSSL_free(ctx);
|
OPENSSL_free(ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user