Fix minor valgrind-found memory leaks

https://codereview.chromium.org/12440066/



git-svn-id: http://skia.googlecode.com/svn/trunk@8297 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/core/SkRefDict.cpp b/src/core/SkRefDict.cpp
index 50a469d..44eddf0 100644
--- a/src/core/SkRefDict.cpp
+++ b/src/core/SkRefDict.cpp
@@ -59,6 +59,7 @@
                 } else {
                     fImpl = rec->fNext;
                 }
+                delete rec;
             }
             return;
         }
diff --git a/src/effects/SkMatrixConvolutionImageFilter.cpp b/src/effects/SkMatrixConvolutionImageFilter.cpp
index c4cffea..b25979c 100644
--- a/src/effects/SkMatrixConvolutionImageFilter.cpp
+++ b/src/effects/SkMatrixConvolutionImageFilter.cpp
@@ -539,9 +539,9 @@
     int width = random->nextRangeU(1, MAX_KERNEL_SIZE);
     int height = random->nextRangeU(1, MAX_KERNEL_SIZE / width);
     SkISize kernelSize = SkISize::Make(width, height);
-    SkScalar* kernel = new SkScalar[width * height];
+    SkAutoTDeleteArray<SkScalar> kernel(new SkScalar[width * height]);
     for (int i = 0; i < width * height; i++) {
-        kernel[i] = random->nextSScalar1();
+        kernel.get()[i] = random->nextSScalar1();
     }
     SkScalar gain = random->nextSScalar1();
     SkScalar bias = random->nextSScalar1();
@@ -551,13 +551,12 @@
     bool convolveAlpha = random->nextBool();
     return GrMatrixConvolutionEffect::Create(textures[texIdx],
                                              kernelSize,
-                                             kernel,
+                                             kernel.get(),
                                              gain,
                                              bias,
                                              target,
                                              tileMode,
                                              convolveAlpha);
-
 }
 
 bool SkMatrixConvolutionImageFilter::asNewEffect(GrEffectRef** effect,
diff --git a/tests/Matrix44Test.cpp b/tests/Matrix44Test.cpp
index 269e359..bdeafd4 100644
--- a/tests/Matrix44Test.cpp
+++ b/tests/Matrix44Test.cpp
@@ -80,6 +80,8 @@
 static void test_constructor(skiatest::Reporter* reporter) {
     // Allocate a matrix on the heap
     SkMatrix44* placeholderMatrix = new SkMatrix44();
+    SkAutoTDelete<SkMatrix44> deleteMe(placeholderMatrix);
+
     for (int row = 0; row < 4; ++row) {
         for (int col = 0; col < 4; ++col) {
             placeholderMatrix->setDouble(row, col, row * col);
diff --git a/tests/PDFPrimitivesTest.cpp b/tests/PDFPrimitivesTest.cpp
index cc89d6b..7f6bc34 100644
--- a/tests/PDFPrimitivesTest.cpp
+++ b/tests/PDFPrimitivesTest.cpp
@@ -225,7 +225,7 @@
 // and there is no assert on input data in Debug mode.
 static void test_issue1083() {
     SkISize pageSize = SkISize::Make(100, 100);
-    SkPDFDevice* dev = new SkPDFDevice(pageSize, pageSize, SkMatrix::I());
+    SkAutoTUnref<SkPDFDevice> dev(new SkPDFDevice(pageSize, pageSize, SkMatrix::I()));
 
     SkCanvas c(dev);
     SkPaint paint;