desktop-shell: fix invalid memory access when shell execution fails

In this case wl_client_add_destroy_listener() was called with a NULL
client, which is invalid.

Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index c8a9f01..5a60086 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -5349,8 +5349,10 @@
 						 shell->client,
 						 desktop_shell_sigchld);
 
-	if (!shell->child.client)
+	if (!shell->child.client) {
 		weston_log("not able to start %s\n", shell->client);
+		return;
+	}
 
 	shell->child.client_destroy_listener.notify =
 		desktop_shell_client_destroy;