From: Indu Bhagat Date: Thu, 20 Nov 2025 17:53:27 +0000 (-0800) Subject: libsframe: use tmp variable for realloc pattern X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=27442708b1df3e1994dccaa09290ff00c00c2e7d;p=thirdparty%2Fbinutils-gdb.git libsframe: use tmp variable for realloc pattern If realloc fails, the original buffer isnt free'd otherwise. libsframe/ * sframe.c (sframe_encoder_add_fre): Use tmp variable. (sframe_encoder_add_funcdesc_internal): Likewise. --- diff --git a/libsframe/sframe.c b/libsframe/sframe.c index 757b56a69cd..fb8ece9743b 100644 --- a/libsframe/sframe.c +++ b/libsframe/sframe.c @@ -1732,12 +1732,13 @@ sframe_encoder_add_fre (sframe_encoder_ctx *ectx, fre_tbl_sz = (sizeof (sf_fre_tbl) + ((fre_tbl->alloced + number_of_entries) * sizeof (sframe_frame_row_entry))); - fre_tbl = realloc (fre_tbl, fre_tbl_sz); - if (fre_tbl == NULL) + sf_fre_tbl *tmp = realloc (fre_tbl, fre_tbl_sz); + if (tmp == NULL) { sframe_set_errno (&err, SFRAME_ERR_NOMEM); goto bad; /* OOM. */ } + fre_tbl = tmp; memset (&fre_tbl->entry[fre_tbl->alloced], 0, number_of_entries * sizeof (sframe_frame_row_entry)); @@ -1817,12 +1818,13 @@ sframe_encoder_add_funcdesc_internal (sframe_encoder_ctx *ectx, fd_tbl_sz = (sizeof (sf_fde_tbl) + ((fd_info->alloced + number_of_entries) * sizeof (sframe_func_desc_entry_int))); - fd_info = realloc (fd_info, fd_tbl_sz); - if (fd_info == NULL) + sf_fde_tbl *tmp = realloc (fd_info, fd_tbl_sz); + if (tmp == NULL) { sframe_set_errno (&err, SFRAME_ERR_NOMEM); goto bad; /* OOM. */ } + fd_info = tmp; memset (&fd_info->entry[fd_info->alloced], 0, number_of_entries * sizeof (sframe_func_desc_entry_int));