[OpenMP][Offloading] Fixed a crash caused by dereferencing nullptr

In function `DeviceTy::getTargetPointer`, `Entry` could be `nullptr` because of
zero length array section. We need to check if it is a valid iterator before
using it.

Reviewed By: ronlieb

Differential Revision: https://reviews.llvm.org/D116716
This commit is contained in:
Shilei Tian 2022-01-05 23:04:17 -05:00
parent f71e02fa46
commit aab62aab04
1 changed files with 3 additions and 1 deletions

View File

@ -305,7 +305,9 @@ DeviceTy::getTargetPointer(void *HstPtrBegin, void *HstPtrBase, int64_t Size,
DataMapMtx.unlock();
// If not a host pointer and no present modifier, we need to wait for the
// event if it exists.
if (!IsHostPtr && !HasPresentModifier) {
// Note: Entry might be nullptr because of zero length array section.
if (Entry != HostDataToTargetListTy::iterator() && !IsHostPtr &&
!HasPresentModifier) {
Entry->lock();
void *Event = Entry->getEvent();
if (Event) {