A Mozilla developer ran the µmix static analyzer on its codebase and incidentally found some issues regarding null checks in Skia. This fixes the issues that were found.
Downstream bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=1278452
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046563007
Review-Url: https://codereview.chromium.org/2046563007
diff --git a/src/pathops/SkPathOpsWinding.cpp b/src/pathops/SkPathOpsWinding.cpp
index 0abffb0..584ebd4 100644
--- a/src/pathops/SkPathOpsWinding.cpp
+++ b/src/pathops/SkPathOpsWinding.cpp
@@ -289,10 +289,10 @@
bool ccw = ccw_dxdy(hit->fSlope, dir);
// SkASSERT(!approximately_zero(hit->fT) || !hit->fValid);
SkOpSpan* span = hit->fSpan;
- SkOpSegment* hitSegment = span->segment();
if (!span) {
return false;
}
+ SkOpSegment* hitSegment = span->segment();
if (span->windValue() == 0 && span->oppValue() == 0) {
continue;
}
diff --git a/src/ports/SkFontMgr_win_dw.cpp b/src/ports/SkFontMgr_win_dw.cpp
index e6e52d9..bacac2c 100644
--- a/src/ports/SkFontMgr_win_dw.cpp
+++ b/src/ports/SkFontMgr_win_dw.cpp
@@ -45,7 +45,7 @@
// Takes ownership of stream.
static HRESULT Create(SkStreamAsset* stream, StreamFontFileLoader** streamFontFileLoader) {
*streamFontFileLoader = new StreamFontFileLoader(stream);
- if (nullptr == streamFontFileLoader) {
+ if (nullptr == *streamFontFileLoader) {
return E_OUTOFMEMORY;
}
return S_OK;
@@ -110,7 +110,7 @@
static HRESULT Create(IDWriteFactory* factory, IDWriteFontFileLoader* fontFileLoader,
StreamFontFileEnumerator** streamFontFileEnumerator) {
*streamFontFileEnumerator = new StreamFontFileEnumerator(factory, fontFileLoader);
- if (nullptr == streamFontFileEnumerator) {
+ if (nullptr == *streamFontFileEnumerator) {
return E_OUTOFMEMORY;
}
return S_OK;
@@ -207,7 +207,7 @@
static HRESULT Create(IDWriteFontFileLoader* fontFileLoader,
StreamFontCollectionLoader** streamFontCollectionLoader) {
*streamFontCollectionLoader = new StreamFontCollectionLoader(fontFileLoader);
- if (nullptr == streamFontCollectionLoader) {
+ if (nullptr == *streamFontCollectionLoader) {
return E_OUTOFMEMORY;
}
return S_OK;
diff --git a/src/utils/win/SkDWriteFontFileStream.cpp b/src/utils/win/SkDWriteFontFileStream.cpp
index 460f90e..6c73441 100644
--- a/src/utils/win/SkDWriteFontFileStream.cpp
+++ b/src/utils/win/SkDWriteFontFileStream.cpp
@@ -139,7 +139,7 @@
SkDWriteFontFileStreamWrapper** streamFontFileStream)
{
*streamFontFileStream = new SkDWriteFontFileStreamWrapper(stream);
- if (nullptr == streamFontFileStream) {
+ if (nullptr == *streamFontFileStream) {
return E_OUTOFMEMORY;
}
return S_OK;