diff --git a/paddle/fluid/memory/detail/meta_cache.cc b/paddle/fluid/memory/detail/meta_cache.cc index 8fb2e333ba1204b342017f04c028c768adc70110..26667e3abf2551911fbd284af758320aaedca6fd 100644 --- a/paddle/fluid/memory/detail/meta_cache.cc +++ b/paddle/fluid/memory/detail/meta_cache.cc @@ -24,13 +24,15 @@ MetadataCache::MetadataCache(bool uses_gpu) : uses_gpu_(uses_gpu) {} MemoryBlock::Desc* MetadataCache::LoadDesc(MemoryBlock* block) { if (uses_gpu_) { - auto existing_desc = cache_.find(block); - PADDLE_ENFORCE_EQ(existing_desc->second.CheckGuards(), true); - return &(existing_desc->second); + auto iter = cache_.find(block); + PADDLE_ENFORCE_NE(iter, cache_.end()); + auto* desc = &(iter->second); + PADDLE_ENFORCE_EQ(desc->CheckGuards(), true, "Invalid CPU memory access"); + return desc; } else { auto* desc = reinterpret_cast(block); VLOG(10) << "Load MemoryBlock::Desc type=" << desc->type; - PADDLE_ENFORCE_EQ(desc->CheckGuards(), true); + PADDLE_ENFORCE_EQ(desc->CheckGuards(), true, "Invalid CPU memory access"); return reinterpret_cast(block); } }