global_motion,alloc_pyramid: add missing alloc checks

missed in:
723bbf9e8 global_motion.c: add missing alloc checks

Bug: aomedia:3276
Change-Id: Ide58d8f826597a2cbece84a9043fa1d7f9935b2f
diff --git a/av1/encoder/global_motion.c b/av1/encoder/global_motion.c
index 7fa0060..5e03d79 100644
--- a/av1/encoder/global_motion.c
+++ b/av1/encoder/global_motion.c
@@ -713,9 +713,18 @@
   }
 }
 
+static void free_pyramid(ImagePyramid *pyr) {
+  aom_free(pyr->level_buffer);
+  if (pyr->has_gradient) {
+    aom_free(pyr->level_dx_buffer);
+    aom_free(pyr->level_dy_buffer);
+  }
+  aom_free(pyr);
+}
+
 static ImagePyramid *alloc_pyramid(int width, int height, int pad_size,
                                    int compute_gradient) {
-  ImagePyramid *pyr = aom_malloc(sizeof(*pyr));
+  ImagePyramid *pyr = aom_calloc(1, sizeof(*pyr));
   if (!pyr) return NULL;
   pyr->has_gradient = compute_gradient;
   // 2 * width * height is the upper bound for a buffer that fits
@@ -724,7 +733,7 @@
                           (width + 2 * pad_size) * 2 * pad_size * N_LEVELS;
   pyr->level_buffer = aom_malloc(buffer_size);
   if (!pyr->level_buffer) {
-    aom_free(pyr);
+    free_pyramid(pyr);
     return NULL;
   }
   memset(pyr->level_buffer, 0, buffer_size);
@@ -733,23 +742,16 @@
     const int gradient_size =
         sizeof(*pyr->level_dx_buffer) * 2 * width * height +
         (width + 2 * pad_size) * 2 * pad_size * N_LEVELS;
-    pyr->level_dx_buffer = aom_malloc(gradient_size);
-    pyr->level_dy_buffer = aom_malloc(gradient_size);
-    memset(pyr->level_dx_buffer, 0, gradient_size);
-    memset(pyr->level_dy_buffer, 0, gradient_size);
+    pyr->level_dx_buffer = aom_calloc(1, gradient_size);
+    pyr->level_dy_buffer = aom_calloc(1, gradient_size);
+    if (!(pyr->level_dx_buffer && pyr->level_dy_buffer)) {
+      free_pyramid(pyr);
+      return NULL;
+    }
   }
   return pyr;
 }
 
-static void free_pyramid(ImagePyramid *pyr) {
-  aom_free(pyr->level_buffer);
-  if (pyr->has_gradient) {
-    aom_free(pyr->level_dx_buffer);
-    aom_free(pyr->level_dy_buffer);
-  }
-  aom_free(pyr);
-}
-
 static INLINE void update_level_dims(ImagePyramid *frm_pyr, int level) {
   frm_pyr->widths[level] = frm_pyr->widths[level - 1] >> 1;
   frm_pyr->heights[level] = frm_pyr->heights[level - 1] >> 1;