compositor: Only check buffer for NULL tried to allocate something

In particular, if we get a NULL buffer attach, it's ok for buffer to be NULL.
diff --git a/src/compositor.c b/src/compositor.c
index c084b92..78351eb 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -1442,11 +1442,12 @@
 	struct weston_surface *surface = wl_resource_get_user_data(resource);
 	struct weston_buffer *buffer = NULL;
 
-	if (buffer_resource)
+	if (buffer_resource) {
 		buffer = weston_buffer_from_resource(buffer_resource);
-	if (buffer == NULL) {
-		wl_client_post_no_memory(client);
-		return;
+		if (buffer == NULL) {
+			wl_client_post_no_memory(client);
+			return;
+		}
 	}
 
 	/* Attach, attach, without commit in between does not send