SkDeque: Move asserts prior to pointer dereference
If we popped too far, we want the assert mechanism to catch this
bug prior to us dereferencing a nullptr.
Change-Id: I681e530e8bcc15897bc52b3688d83f85a59d7449
Reviewed-on: https://skia-review.googlesource.com/c/191065
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
diff --git a/src/core/SkDeque.cpp b/src/core/SkDeque.cpp
index 167ce46..d772a4f 100644
--- a/src/core/SkDeque.cpp
+++ b/src/core/SkDeque.cpp
@@ -157,10 +157,10 @@
if (first->fBegin == nullptr) { // we were marked empty from before
first = first->fNext;
+ SkASSERT(first != nullptr); // else we popped too far
first->fPrev = nullptr;
this->freeBlock(fFrontBlock);
fFrontBlock = first;
- SkASSERT(first != nullptr); // else we popped too far
}
char* begin = first->fBegin + fElemSize;
@@ -191,10 +191,10 @@
if (last->fEnd == nullptr) { // we were marked empty from before
last = last->fPrev;
+ SkASSERT(last != nullptr); // else we popped too far
last->fNext = nullptr;
this->freeBlock(fBackBlock);
fBackBlock = last;
- SkASSERT(last != nullptr); // else we popped too far
}
char* end = last->fEnd - fElemSize;