weston-launch: Fix failure to exec weston due to initalized argv values

The array of arguments supplied to execv must be NULL terminated. If
unitialized values are used as pointers the exec call may fail with a
EFAULT error ("Bad address").

https://bugs.freedesktop.org/show_bug.cgi?id=64874
diff --git a/src/weston-launch.c b/src/weston-launch.c
index 42b2506..ad77476 100644
--- a/src/weston-launch.c
+++ b/src/weston-launch.c
@@ -570,7 +570,7 @@
 		}
 	}
 
-	if ((argc - optind) > (MAX_ARGV_SIZE - 5))
+	if ((argc - optind) > (MAX_ARGV_SIZE - 6))
 		error(1, E2BIG, "Too many arguments to pass to weston");
 
 	if (new_user)
@@ -586,7 +586,8 @@
 	child_argv[3] = BINDIR "/weston \"$@\"";
 	child_argv[4] = "weston";
 	for (i = 0; i < (argc - optind); ++i)
-		child_argv[5+i] = argv[optind+i];
+		child_argv[5 + i] = argv[optind + i];
+	child_argv[5 + i] = NULL;
 
 	term = getenv("TERM");
 	clearenv();