Fix a segfault in lash, hush, and cmdedit.  Each of these used
xgetcwd, but did not check the return for a NULL, and then continued
to call strlen on the NULL when the cwd had been removed from under it.
 -Erik
diff --git a/shell/hush.c b/shell/hush.c
index abc8f6e..9a2243a 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -429,6 +429,8 @@
 		return EXIT_FAILURE;
 	}
 	cwd = xgetcwd(cwd);
+	if (!cwd)
+		cwd = unknown;
 	return EXIT_SUCCESS;
 }
 
@@ -568,6 +570,8 @@
 static int builtin_pwd(struct child_prog *dummy)
 {
 	cwd = xgetcwd(cwd);
+	if (!cwd)
+		cwd = unknown;
 	puts(cwd);
 	return EXIT_SUCCESS;
 }
@@ -2307,6 +2311,8 @@
 	
 	/* initialize the cwd -- this is never freed...*/
 	cwd = xgetcwd(0);
+	if (!cwd)
+		cwd = unknown;
 #ifdef BB_FEATURE_COMMAND_EDITING
 	cmdedit_set_initial_prompt();
 #else