From b6f456a13c57575150bd4b71efec4b1d65e95b8e Mon Sep 17 00:00:00 2001 From: Tim Wickberg <tim@schedmd.com> Date: Fri, 1 Feb 2019 15:34:50 -0700 Subject: [PATCH] Tweak safe_xcalloc and safe_xmalloc macros. --- src/common/pack.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/common/pack.h b/src/common/pack.h index 8f76eff4322..e47ca31b982 100644 --- a/src/common/pack.h +++ b/src/common/pack.h @@ -367,12 +367,19 @@ int unpackmem_array(char *valp, uint32_t size_valp, Buf buffer); } while (0) #define safe_xcalloc(p, cnt, sz) do { \ - if (!(p = try_xcalloc(cnt, sz)) && cnt && sz) \ + size_t _cnt = cnt; \ + size_t _sz = sz; \ + if (!_cnt || !_sz) \ + p = NULL; \ + else if (!(p = try_xcalloc(_cnt, _sz))) \ goto unpack_error; \ } while (0) #define safe_xmalloc(p, sz) do { \ - if (!(p = try_xmalloc(sz)) && sz) \ + size_t _sz = sz; \ + if (!_sz) \ + p = NULL; \ + else if (!(p = try_xmalloc(_sz))) \ goto unpack_error; \ } while (0) -- GitLab