shell: don't crash on create_common_surface() failure

Noticed while reading code, that create_common_surface() may return
NULL, and callers of its direct callers check for NULL, but the
intermediate function in between would crash.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index 6ef36b5..810961f 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -3879,6 +3879,9 @@
 	struct shell_surface *shsurf;
 
 	shsurf = create_common_surface(owner, shell, surface, client);
+	if (!shsurf)
+		return NULL;
+
 	shsurf->type = SHELL_SURFACE_TOPLEVEL;
 
 	return shsurf;
@@ -3963,6 +3966,9 @@
 	struct shell_surface *shsurf;
 
 	shsurf = create_common_surface(owner, shell, surface, client);
+	if (!shsurf)
+		return NULL;
+
 	shsurf->type = SHELL_SURFACE_POPUP;
 	shsurf->popup.shseat = seat;
 	shsurf->popup.serial = serial;