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

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: 3c3a5657492bdb70728919930a2ce3bad7a10783
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 228b12e42c..ccb9dcd4fa 100644
--- a/src/common/pack.c
+++ b/src/common/pack.c
@@ -530,6 +530,7 @@ int unpack16_array(uint16_t ** valp, uint32_t * size_val, Buf buffer)
 	return SLURM_SUCCESS;
 
 unpack_error:
+	xfree(*valp);
 	return SLURM_ERROR;
 }
 
@@ -569,6 +570,7 @@ int unpack32_array(uint32_t ** valp, uint32_t * size_val, Buf buffer)
 	return SLURM_SUCCESS;
 
 unpack_error:
+	xfree(*valp);
 	return SLURM_ERROR;
 }
 
@@ -624,6 +626,7 @@ int unpack64_array(uint64_t ** valp, uint32_t * size_val, Buf buffer)
 	return SLURM_SUCCESS;
 
 unpack_error:
+	xfree(*valp);
 	return SLURM_ERROR;
 }
 
@@ -679,6 +682,7 @@ int unpackdouble_array(double **valp, uint32_t* size_val, Buf buffer)
 	return SLURM_SUCCESS;
 
 unpack_error:
+	xfree(*valp);
 	return SLURM_ERROR;
 }
 
@@ -712,6 +716,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