Don't choke if /etc/profile is not available
diff --git a/shell/hush.c b/shell/hush.c
index 859353d..f70074f 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -2556,9 +2556,7 @@
 
 	/* Put ourselves in our own process group.  */
 	shell_pgrp = getpid ();
-	if (setpgid (shell_pgrp, shell_pgrp) < 0) {
-		perror_msg_and_die("Couldn't put the shell in its own process group");
-	}
+	setpgid (shell_pgrp, shell_pgrp);
 
 	/* Grab control of the terminal.  */
 	tcsetpgrp(shell_terminal, shell_pgrp);
@@ -2607,11 +2605,12 @@
 
 	if (argv[0] && argv[0][0] == '-') {
 		debug_printf("\nsourcing /etc/profile\n");
-		input = xfopen("/etc/profile", "r");
-		mark_open(fileno(input));
-		parse_file_outer(input);
-		mark_closed(fileno(input));
-		fclose(input);
+		if ((input = fopen("/etc/profile", "r")) != NULL) {
+			mark_open(fileno(input));
+			parse_file_outer(input);
+			mark_closed(fileno(input));
+			fclose(input);
+		}
 	}
 	input=stdin;