Fix dangling pointer in BufferBase
Bug: dawn:2349
Test: dawn_end2end_tests
Change-Id: I3089e15de1ac4081742d26123b62cfbe9b0c2f59
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/181641
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
diff --git a/src/dawn/native/Buffer.cpp b/src/dawn/native/Buffer.cpp
index 9ce0de9..c24f320 100644
--- a/src/dawn/native/Buffer.cpp
+++ b/src/dawn/native/Buffer.cpp
@@ -512,7 +512,7 @@
if (mMapCallback != nullptr && mapID == mLastMapID) {
auto callback = std::move(mMapCallback);
- auto userdata = std::move(mMapUserdata);
+ void* userdata = std::move(mMapUserdata);
WGPUBufferMapAsyncStatus actualStatus;
if (GetDevice()->IsLost()) {
actualStatus = WGPUBufferMapAsyncStatus_DeviceLost;
diff --git a/src/dawn/native/Buffer.h b/src/dawn/native/Buffer.h
index 3e755022..401ff66 100644
--- a/src/dawn/native/Buffer.h
+++ b/src/dawn/native/Buffer.h
@@ -179,8 +179,7 @@
Ref<BufferBase> mStagingBuffer;
WGPUBufferMapCallback mMapCallback = nullptr;
- // TODO(https://crbug.com/dawn/2349): Investigate DanglingUntriaged in dawn/native.
- raw_ptr<void, DanglingUntriaged> mMapUserdata = nullptr;
+ raw_ptr<void> mMapUserdata = nullptr;
MapRequestID mLastMapID = MapRequestID(0);
wgpu::MapMode mMapMode = wgpu::MapMode::None;
size_t mMapOffset = 0;