diff options
Diffstat (limited to 'src/H5Oalloc.c')
-rw-r--r-- | src/H5Oalloc.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/H5Oalloc.c b/src/H5Oalloc.c index 6b921f2..64d2f03 100644 --- a/src/H5Oalloc.c +++ b/src/H5Oalloc.c @@ -1128,7 +1128,10 @@ H5O_alloc(H5F_t *f, hid_t dxpl_id, H5O_t *oh, const H5O_msg_class_t *type, HDassert(mesg); /* Compute the size needed to store the message in the object header */ - if((raw_size = (type->raw_size)(f, FALSE, mesg)) >= H5O_MESG_MAX_SIZE) + raw_size = (type->raw_size)(f, FALSE, mesg); + if(0 == raw_size) + HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "can't compute object header message size") + if(raw_size >= H5O_MESG_MAX_SIZE) HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "object header message is too large") aligned_size = H5O_ALIGN_OH(oh, raw_size); |