diff --git a/include/asn1c/asn_internal.h b/include/asn1c/asn_internal.h index 67f055a..45b1adb 100644 --- a/include/asn1c/asn_internal.h +++ b/include/asn1c/asn_internal.h @@ -15,6 +15,8 @@ #include /* for assert() macro */ #endif +#include + #ifdef __cplusplus extern "C" { #endif @@ -23,10 +25,12 @@ extern "C" { #define ASN1C_ENVIRONMENT_VERSION 920 /* Compile-time version */ int get_asn1c_environment_version(void); /* Run-time version */ -#define CALLOC(nmemb, size) calloc(nmemb, size) -#define MALLOC(size) malloc(size) -#define REALLOC(oldptr, size) realloc(oldptr, size) -#define FREEMEM(ptr) free(ptr) +extern void *talloc_asn1_ctx; + +#define CALLOC(nmemb, size) talloc_zero_size(talloc_asn1_ctx, (nmemb) * (size)) +#define MALLOC(size) talloc_size(talloc_asn1_ctx, size) +#define REALLOC(oldptr, size) talloc_realloc_size(talloc_asn1_ctx, oldptr, size) +#define FREEMEM(ptr) talloc_free(ptr) /* * A macro for debugging the ASN.1 internals.