Fix codec memory leaks in nanobench

SubsetTranslateBench.cpp:
Unref the color table, so it gets deleted.

SkBitmapRegionDecoderInterface.cpp:
Delete the stream if it is not used.

BUG=skia:3418

Review URL: https://codereview.chromium.org/1396113003
diff --git a/bench/subset/SubsetTranslateBench.cpp b/bench/subset/SubsetTranslateBench.cpp
index f6f3d4b..27c628e 100644
--- a/bench/subset/SubsetTranslateBench.cpp
+++ b/bench/subset/SubsetTranslateBench.cpp
@@ -140,7 +140,7 @@
         // We create a color table here to satisfy allocPixels() when the output
         // type is kIndex8.  It's okay that this is uninitialized since we never
         // use it.
-        SkColorTable* colorTable = new SkColorTable(colors, 0);
+        SkAutoTUnref<SkColorTable> colorTable(new SkColorTable(colors, 0));
         for (int count = 0; count < n; count++) {
             int width, height;
             SkAutoTDelete<SkImageDecoder> decoder(SkImageDecoder::Factory(fStream));
diff --git a/tools/SkBitmapRegionDecoderInterface.cpp b/tools/SkBitmapRegionDecoderInterface.cpp
index 47de31f..eea2441 100644
--- a/tools/SkBitmapRegionDecoderInterface.cpp
+++ b/tools/SkBitmapRegionDecoderInterface.cpp
@@ -13,6 +13,7 @@
 
 SkBitmapRegionDecoderInterface* SkBitmapRegionDecoderInterface::CreateBitmapRegionDecoder(
         SkStreamRewindable* stream, Strategy strategy) {
+    SkAutoTDelete<SkStreamRewindable> streamDeleter(stream);
     switch (strategy) {
         case kOriginal_Strategy: {
             SkImageDecoder* decoder = SkImageDecoder::Factory(stream);
@@ -21,7 +22,7 @@
                 SkDebugf("Error: Could not create image decoder.\n");
                 return nullptr;
             }
-            if (!decoder->buildTileIndex(stream, &width, &height)) {
+            if (!decoder->buildTileIndex(streamDeleter.detach(), &width, &height)) {
                 SkDebugf("Error: Could not build tile index.\n");
                 delete decoder;
                 return nullptr;
@@ -29,7 +30,7 @@
             return new SkBitmapRegionSampler(decoder, width, height);
         }
         case kCanvas_Strategy: {
-            SkAutoTDelete<SkCodec> codec(SkCodec::NewFromStream(stream));
+            SkAutoTDelete<SkCodec> codec(SkCodec::NewFromStream(streamDeleter.detach()));
             if (nullptr == codec) {
                 SkDebugf("Error: Failed to create decoder.\n");
                 return nullptr;