compositor-drm: Fix memory leak in create_output_for_connector

We do not free the encoder structure on failure. Fix that.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
diff --git a/compositor/compositor-drm.c b/compositor/compositor-drm.c
index 9f76187..1f5e028 100644
--- a/compositor/compositor-drm.c
+++ b/compositor/compositor-drm.c
@@ -445,12 +445,15 @@
 	}
 	if (i == resources->count_crtcs) {
 		fprintf(stderr, "No usable crtc for encoder.\n");
+		drmModeFreeEncoder(encoder);
 		return -1;
 	}
 
 	output = malloc(sizeof *output);
-	if (output == NULL)
+	if (output == NULL) {
+		drmModeFreeEncoder(encoder);
 		return -1;
+	}
 
 	memset(output, 0, sizeof *output);
 	output->base.subpixel = drm_subpixel_to_wayland(connector->subpixel);