Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:dirkmueller:acdc:as_python3_module
slurm.32296
U_19-Return-early-if-size_valp-is-zero.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File U_19-Return-early-if-size_valp-is-zero.patch of Package slurm.32296
From: Tim Wickberg <tim@schedmd.com> Date: Wed Nov 29 15:37:54 2023 -0700 Subject: [PATCH 19/28]Return early if *size_valp is zero. Patch-mainline: Upstream Git-repo: https://github.com/SchedMD/slurm Git-commit: 14deece8ed95a46c69dabc9231607781628b8639 References: bsc#1218046, bsc#1218050, bsc#1218051, bsc#1218053 Signed-off-by: Egbert Eich <eich@suse.de> Signed-off-by: Egbert Eich <eich@suse.com> --- src/common/pack.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/common/pack.c b/src/common/pack.c index a9ab41c579..b5131a6afb 100644 --- a/src/common/pack.c +++ b/src/common/pack.c @@ -864,6 +864,9 @@ int unpackmem_ptr(char **valp, uint32_t * size_valp, Buf buffer) *valp = NULL; safe_unpack32(size_valp, buffer); + if (!*size_valp) + return SLURM_SUCCESS; + if (*size_valp > MAX_ARRAY_LEN_LARGE) { error("%s: Buffer to be unpacked is too large (%u > %u)", __func__, *size_valp, MAX_ARRAY_LEN_LARGE); @@ -895,6 +898,9 @@ int unpackmem_xmalloc(char **valp, uint32_t * size_valp, Buf buffer) *valp = NULL; safe_unpack32(size_valp, buffer); + if (!*size_valp) + return SLURM_SUCCESS; + if (*size_valp > MAX_ARRAY_LEN_LARGE) { error("%s: Buffer to be unpacked is too large (%u > %u)", __func__, *size_valp, MAX_ARRAY_LEN_LARGE); @@ -928,6 +934,9 @@ int unpackmem_malloc(char **valp, uint32_t * size_valp, Buf buffer) *valp = NULL; safe_unpack32(size_valp, buffer); + if (!*size_valp) + return SLURM_SUCCESS; + if (*size_valp > MAX_PACK_MEM_LEN) { error("%s: Buffer to be unpacked is too large (%u > %u)", __func__, *size_valp, MAX_ARRAY_LEN_SMALL); @@ -970,6 +979,9 @@ int unpackstr_xmalloc_escaped(char **valp, uint32_t *size_valp, Buf buffer) *valp = NULL; safe_unpack32(size_valp, buffer); + if (!*size_valp) + return SLURM_SUCCESS; + if (*size_valp > MAX_PACK_MEM_LEN) { error("%s: Buffer to be unpacked is too large (%u > %u)", __func__, *size_valp, MAX_PACK_MEM_LEN);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor