Remove DanglingUntriaged in Blob.h
Bug: dawn:2349
Test: dawn_unittests
Change-Id: Ib2dd54f79fd9ab34c4e10bccac5be3f3f046dca9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/177242
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
diff --git a/src/dawn/native/Blob.cpp b/src/dawn/native/Blob.cpp
index b455837..d68b1aa 100644
--- a/src/dawn/native/Blob.cpp
+++ b/src/dawn/native/Blob.cpp
@@ -58,6 +58,7 @@
Blob::Blob(Blob&& rhs) : mData(rhs.mData), mSize(rhs.mSize) {
mDeleter = std::move(rhs.mDeleter);
+ rhs.mData = nullptr;
rhs.mDeleter = nullptr;
}
@@ -68,11 +69,13 @@
mDeleter();
}
mDeleter = std::move(rhs.mDeleter);
+ rhs.mData = nullptr;
rhs.mDeleter = nullptr;
return *this;
}
Blob::~Blob() {
+ mData = nullptr;
if (mDeleter) {
mDeleter();
}
diff --git a/src/dawn/native/Blob.h b/src/dawn/native/Blob.h
index be3f226..30f8901 100644
--- a/src/dawn/native/Blob.h
+++ b/src/dawn/native/Blob.h
@@ -66,8 +66,7 @@
// calling |deleter|. The deleter function is called at ~Blob() and during std::move.
explicit Blob(uint8_t* data, size_t size, std::function<void()> deleter);
- // TODO(https://crbug.com/dawn/2349): Investigate DanglingUntriaged in dawn/native.
- raw_ptr<uint8_t, DanglingUntriaged> mData;
+ raw_ptr<uint8_t> mData;
size_t mSize;
std::function<void()> mDeleter;
};