File U_05-Avoid-leaks-on-error.patch of Package slurm.32296

From: Tim Wickberg <tim@schedmd.com>
Date: Tue Nov 28 17:33:20 2023 -0700
Subject: [PATCH 5/28]Avoid leaks on error.
Patch-mainline: Upstream
Git-repo: https://github.com/SchedMD/slurm
Git-commit: b586b7204da53d877557f902052bd89afb3e2500
References: bsc#1218046, bsc#1218050, bsc#1218051, bsc#1218053
Signed-off-by: Egbert Eich <eich@suse.de>

---
 src/common/pack.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/common/pack.c b/src/common/pack.c
index e703360649..6fb72d8639 100644
--- a/src/common/pack.c
+++ b/src/common/pack.c
@@ -540,6 +540,7 @@ int unpack16_array(uint16_t ** valp, uint32_t * size_val, Buf buffer)
 	return SLURM_SUCCESS;
 
 unpack_error:
+	xfree(*valp);
 	return SLURM_ERROR;
 }
 
@@ -579,6 +580,7 @@ int unpack32_array(uint32_t ** valp, uint32_t * size_val, Buf buffer)
 	return SLURM_SUCCESS;
 
 unpack_error:
+	xfree(*valp);
 	return SLURM_ERROR;
 }
 
@@ -634,6 +636,7 @@ int unpack64_array(uint64_t ** valp, uint32_t * size_val, Buf buffer)
 	return SLURM_SUCCESS;
 
 unpack_error:
+	xfree(*valp);
 	return SLURM_ERROR;
 }
 
@@ -689,6 +692,7 @@ int unpackdouble_array(double **valp, uint32_t* size_val, Buf buffer)
 	return SLURM_SUCCESS;
 
 unpack_error:
+	xfree(*valp);
 	return SLURM_ERROR;
 }
 
@@ -722,6 +726,7 @@ int unpacklongdouble_array(long double **valp, uint32_t* size_val, Buf buffer)
 	return SLURM_SUCCESS;
 
 unpack_error:
+	xfree(*valp);
 	return SLURM_ERROR;
 }
 
openSUSE Build Service is sponsored by