insist SkPngEncoder's input is initialized

I'd rather catch uninitialized input here than
somewhere deep down in zlib or libpng.

Bug: chromium:1013368
Cq-Include-Trybots: skia.primary:Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-MSAN
Change-Id: I37f5a66a8fc12c7e0ce6d3100de94021bb5343ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248551
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
diff --git a/src/images/SkPngEncoder.cpp b/src/images/SkPngEncoder.cpp
index 48045e9..5a3c9e6 100644
--- a/src/images/SkPngEncoder.cpp
+++ b/src/images/SkPngEncoder.cpp
@@ -15,6 +15,7 @@
 #include "include/private/SkImageInfoPriv.h"
 #include "src/codec/SkColorTable.h"
 #include "src/codec/SkPngPriv.h"
+#include "src/core/SkMSAN.h"
 #include "src/images/SkImageEncoderFns.h"
 #include <vector>
 
@@ -421,6 +422,8 @@
 
     const void* srcRow = fSrc.addr(0, fCurrRow);
     for (int y = 0; y < numRows; y++) {
+        sk_msan_assert_initialized(srcRow,
+                                   (const uint8_t*)srcRow + (fSrc.width() << fSrc.shiftPerPixel()));
         fEncoderMgr->proc()((char*)fStorage.get(),
                             (const char*)srcRow,
                             fSrc.width(),