diff --git a/src/common/pack.h b/src/common/pack.h
index 3154b2bb81d4a6607733ab238f7d7be157d5b547..8f76eff43228a426448c4586f70deb5a39084ec1 100644
--- a/src/common/pack.h
+++ b/src/common/pack.h
@@ -367,15 +367,12 @@ int	unpackmem_array(char *valp, uint32_t size_valp, Buf buffer);
 } while (0)
 
 #define safe_xcalloc(p, cnt, sz) do {			\
-	assert(cnt);					\
-	assert(sz);					\
-	if (!(p = try_xcalloc(cnt, sz)))		\
+	if (!(p = try_xcalloc(cnt, sz)) && cnt && sz)	\
 		goto unpack_error;			\
 } while (0)
 
 #define safe_xmalloc(p, sz) do {			\
-	assert(sz);					\
-	if (!(p = try_xmalloc(sz)))			\
+	if (!(p = try_xmalloc(sz)) && sz)		\
 		goto unpack_error;			\
 } while (0)