passwd: do not complain if /etc/shadow is missing

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/libbb/update_passwd.c b/libbb/update_passwd.c
index 3aab401..ba773fc 100644
--- a/libbb/update_passwd.c
+++ b/libbb/update_passwd.c
@@ -110,8 +110,11 @@
 		old_fp = fopen(filename, "r+");
 	else
 		old_fp = fopen_or_warn(filename, "r+");
-	if (!old_fp)
+	if (!old_fp) {
+		if (shadow)
+			ret = 0; /* missing shadow is not an error */
 		goto free_mem;
+	}
 	old_fd = fileno(old_fp);
 
 	selinux_preserve_fcontext(old_fd);