Check zalloc return for out of memory situation

Most zalloc calls in weston are checked, this fixes a handful that were
being ignored.  As found by `grep -EIsr "[^x]zalloc\(" . -A1`

Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
diff --git a/src/screenshooter.c b/src/screenshooter.c
index 02146c8..369e920 100644
--- a/src/screenshooter.c
+++ b/src/screenshooter.c
@@ -450,6 +450,17 @@
 }
 
 static void
+weston_recorder_free(struct weston_recorder *recorder)
+{
+	if (recorder == NULL)
+		return;
+	free(recorder->rect);
+	free(recorder->tmpbuf);
+	free(recorder->frame);
+	free(recorder);
+}
+
+static void
 weston_recorder_create(struct weston_output *output, const char *filename)
 {
 	struct weston_compositor *compositor = output->compositor;
@@ -461,7 +472,6 @@
 	do_yflip = !!(compositor->capabilities & WESTON_CAP_CAPTURE_YFLIP);
 
 	recorder = malloc(sizeof *recorder);
-
 	if (recorder == NULL) {
 		weston_log("%s: out of memory\n", __func__);
 		return;
@@ -476,6 +486,12 @@
 	recorder->destroying = 0;
 	recorder->output = output;
 
+	if ((recorder->frame == NULL) || (recorder->rect == NULL)) {
+		weston_log("%s: out of memory\n", __func__);
+		weston_recorder_free(recorder);
+		return;
+	}
+
 	if (do_yflip)
 		recorder->tmpbuf = NULL;
 	else
@@ -493,10 +509,7 @@
 		break;
 	default:
 		weston_log("unknown recorder format\n");
-		free(recorder->rect);
-		free(recorder->tmpbuf);
-		free(recorder->frame);
-		free(recorder);
+		weston_recorder_free(recorder);
 		return;
 	}
 
@@ -505,10 +518,7 @@
 
 	if (recorder->fd < 0) {
 		weston_log("problem opening output file %s: %m\n", filename);
-		free(recorder->rect);
-		free(recorder->tmpbuf);
-		free(recorder->frame);
-		free(recorder);
+		weston_recorder_free(recorder);
 		return;
 	}
 
@@ -527,11 +537,8 @@
 {
 	wl_list_remove(&recorder->frame_listener.link);
 	close(recorder->fd);
-	free(recorder->tmpbuf);
-	free(recorder->frame);
-	free(recorder->rect);
 	recorder->output->disable_planes--;
-	free(recorder);
+	weston_recorder_free(recorder);
 }
 
 static void