26a3a48d65
like Malloc, Realloc and especially Free conflict with already existing names on some operating systems or other packages. That is reason enough to change the names of the OpenSSL memory allocation macros to something that has a better chance of being unique, like prepending them with OPENSSL_. This change includes all the name changes needed throughout all C files.
78 lines
1.4 KiB
C
78 lines
1.4 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <openssl/objects.h>
|
|
#include <openssl/comp.h>
|
|
|
|
COMP_CTX *COMP_CTX_new(COMP_METHOD *meth)
|
|
{
|
|
COMP_CTX *ret;
|
|
|
|
if ((ret=(COMP_CTX *)OPENSSL_malloc(sizeof(COMP_CTX))) == NULL)
|
|
{
|
|
/* ZZZZZZZZZZZZZZZZ */
|
|
return(NULL);
|
|
}
|
|
memset(ret,0,sizeof(COMP_CTX));
|
|
ret->meth=meth;
|
|
if ((ret->meth->init != NULL) && !ret->meth->init(ret))
|
|
{
|
|
OPENSSL_free(ret);
|
|
ret=NULL;
|
|
}
|
|
#if 0
|
|
else
|
|
CRYPTO_new_ex_data(rsa_meth,(char *)ret,&ret->ex_data);
|
|
#endif
|
|
return(ret);
|
|
}
|
|
|
|
void COMP_CTX_free(COMP_CTX *ctx)
|
|
{
|
|
/* CRYPTO_free_ex_data(rsa_meth,(char *)ctx,&ctx->ex_data); */
|
|
|
|
if(ctx == NULL)
|
|
return;
|
|
|
|
if (ctx->meth->finish != NULL)
|
|
ctx->meth->finish(ctx);
|
|
|
|
OPENSSL_free(ctx);
|
|
}
|
|
|
|
int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen,
|
|
unsigned char *in, int ilen)
|
|
{
|
|
int ret;
|
|
if (ctx->meth->compress == NULL)
|
|
{
|
|
/* ZZZZZZZZZZZZZZZZZ */
|
|
return(-1);
|
|
}
|
|
ret=ctx->meth->compress(ctx,out,olen,in,ilen);
|
|
if (ret > 0)
|
|
{
|
|
ctx->compress_in+=ilen;
|
|
ctx->compress_out+=ret;
|
|
}
|
|
return(ret);
|
|
}
|
|
|
|
int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen,
|
|
unsigned char *in, int ilen)
|
|
{
|
|
int ret;
|
|
|
|
if (ctx->meth->expand == NULL)
|
|
{
|
|
/* ZZZZZZZZZZZZZZZZZ */
|
|
return(-1);
|
|
}
|
|
ret=ctx->meth->expand(ctx,out,olen,in,ilen);
|
|
if (ret > 0)
|
|
{
|
|
ctx->expand_in+=ilen;
|
|
ctx->expand_out+=ret;
|
|
}
|
|
return(ret);
|
|
}
|