From cd371aaf609753d162afd8c6b0dd9b8128088a0e Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Thu, 14 Oct 2021 22:10:00 -0500 Subject: Fixed HDFFV-11150 (#356) (#1095) Description Replaced an HDassert with a check for null pointer in H5O_dec_rc() to catch null pointer in corrupted data situation. As a result, removed the null check prior to H5O_dec_rc() calls. Platforms tested: Linux/64 (jelly) Co-authored-by: bmribler <39579120+bmribler@users.noreply.github.com> --- src/H5Ochunk.c | 4 ++-- src/H5Oint.c | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/H5Ochunk.c b/src/H5Ochunk.c index 66e11c8..eadbb19 100644 --- a/src/H5Ochunk.c +++ b/src/H5Ochunk.c @@ -412,12 +412,12 @@ H5O__chunk_dest(H5O_chunk_proxy_t *chk_proxy) HDassert(chk_proxy); /* Decrement reference count of object header */ - if (chk_proxy->oh && H5O__dec_rc(chk_proxy->oh) < 0) + if (H5O__dec_rc(chk_proxy->oh) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTDEC, FAIL, "can't decrement reference count on object header") +done: /* Release the chunk proxy object */ chk_proxy = H5FL_FREE(H5O_chunk_proxy_t, chk_proxy); -done: FUNC_LEAVE_NOAPI(ret_value) } /* H5O__chunk_dest() */ diff --git a/src/H5Oint.c b/src/H5Oint.c index 9d3b5b3..4207b9f 100644 --- a/src/H5Oint.c +++ b/src/H5Oint.c @@ -2909,7 +2909,8 @@ H5O__dec_rc(H5O_t *oh) FUNC_ENTER_PACKAGE /* check args */ - HDassert(oh); + if (!oh) + HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid object header") /* Decrement reference count */ oh->rc--; -- cgit v0.12