[libomptarget] Initialize reference parameter IsNew within Device::getOrAllocTgtPtr

The two locals IsNew and Pointer_IsNew were uninitialized at declaration, and then passed by
reference to Device.getOrAllocTgtPtr which in turn did not assign on all
paths within the function. This resulted in occasional runtime failures in one application.
Device::getOrAllocTgtPtr will now initialize IsNew to false on entry to function.

Differential Revision: https://reviews.llvm.org/D78744
This commit is contained in:
Ron Lieberman 2020-04-24 15:33:37 -05:00
parent 79702dd349
commit ee9c53d271

View File

@ -157,6 +157,7 @@ void *DeviceTy::getOrAllocTgtPtr(void *HstPtrBegin, void *HstPtrBase,
bool UpdateRefCount, bool HasCloseModifier) {
void *rc = NULL;
IsHostPtr = false;
IsNew = false;
DataMapMtx.lock();
LookupResult lr = lookupMapping(HstPtrBegin, Size);