cryptohash-leaks.patch
text/x-patch
Filename: cryptohash-leaks.patch
Type: text/x-patch
Part: 0
Patch
Format: unified
| File | + | − |
|---|---|---|
| src/common/cryptohash_openssl.c | 5 | 5 |
diff --git a/src/common/cryptohash_openssl.c b/src/common/cryptohash_openssl.c index 118651c4153..bb303dd6c8d 100644 --- a/src/common/cryptohash_openssl.c +++ b/src/common/cryptohash_openssl.c @@ -35,7 +35,7 @@ * use malloc to be able to return a failure status back to the caller. */ #ifndef FRONTEND -#define ALLOC(size) palloc(size) +#define ALLOC(size) MemoryContextAllocExtended(TopMemoryContext, size, MCXT_ALLOC_NO_OOM) #define FREE(ptr) pfree(ptr) #else #define ALLOC(size) malloc(size) @@ -69,6 +69,10 @@ pg_cryptohash_create(pg_cryptohash_type type) pg_cryptohash_ctx *ctx; pg_cryptohash_state *state; +#ifndef FRONTEND + ResourceOwnerEnlargeCryptoHash(CurrentResourceOwner); +#endif + ctx = ALLOC(sizeof(pg_cryptohash_ctx)); if (ctx == NULL) return NULL; @@ -84,10 +88,6 @@ pg_cryptohash_create(pg_cryptohash_type type) ctx->data = state; ctx->type = type; -#ifndef FRONTEND - ResourceOwnerEnlargeCryptoHash(CurrentResourceOwner); -#endif - /* * Initialization takes care of assigning the correct type for OpenSSL. */