Thread

  1. [PATCH v1 1/2] Fix memory allocation formulas

    Bertrand Drouvot <bertranddrouvot.pg@gmail.com> — 2025-12-11T12:15:37Z

    While the current formulas are technically correct, using GBT_VARKEY and char are
    the semantically appropriate choices.
    ---
     contrib/btree_gist/btree_utils_var.c      | 2 +-
     src/bin/pg_verifybackup/pg_verifybackup.c | 2 +-
     2 files changed, 2 insertions(+), 2 deletions(-)
      47.5% contrib/btree_gist/
      52.4% src/bin/pg_verifybackup/
    
    diff --git a/contrib/btree_gist/btree_utils_var.c b/contrib/btree_gist/btree_utils_var.c
    index 7fbea0cfb7b..c2d192d424e 100644
    --- a/contrib/btree_gist/btree_utils_var.c
    +++ b/contrib/btree_gist/btree_utils_var.c
    @@ -476,7 +476,7 @@ gbt_var_picksplit(const GistEntryVector *entryvec, GIST_SPLITVEC *v,
     	v->spl_nleft = 0;
     	v->spl_nright = 0;
     
    -	sv = palloc(sizeof(bytea *) * (maxoff + 1));
    +	sv = palloc(sizeof(GBT_VARKEY *) * (maxoff + 1));
     
     	/* Sort entries */
     
    diff --git a/src/bin/pg_verifybackup/pg_verifybackup.c b/src/bin/pg_verifybackup/pg_verifybackup.c
    index c9b24df7c05..1cd5fa791c0 100644
    --- a/src/bin/pg_verifybackup/pg_verifybackup.c
    +++ b/src/bin/pg_verifybackup/pg_verifybackup.c
    @@ -1007,7 +1007,7 @@ verify_tar_file(verifier_context *context, char *relpath, char *fullpath,
     		return;
     	}
     
    -	buffer = pg_malloc(READ_CHUNK_SIZE * sizeof(uint8));
    +	buffer = pg_malloc(READ_CHUNK_SIZE * sizeof(char));
     
     	/* Perform the reads */
     	while ((rc = read(fd, buffer, READ_CHUNK_SIZE)) > 0)
    -- 
    2.34.1
    
    
    --0japS73BvShvidpF
    Content-Type: text/x-diff; charset=us-ascii
    Content-Disposition: attachment;
    	filename="v1-0002-Use-sizeof-var-for-type-safe-allocation-formulas.patch"