libbb: added xfdopen_for_read/write

function                                             old     new   delta
xfdopen_helper                                         -      40     +40
logdir_open                                         1163    1184     +21
process_stdin                                        433     443     +10
xfdopen_for_write                                      -       9      +9
doCommands                                          2465    2474      +9
patch_main                                          1214    1222      +8
bbunpack                                             457     465      +8
xfdopen_for_read                                       -       7      +7
scan_tree                                            258     262      +4
xstrtoul_range_sfx                                   230     231      +1
sendmail_main                                        957     955      -2
passwd_main                                         1027    1023      -4
parse                                                969     964      -5
test_main                                            253     247      -6
sed_main                                             655     649      -6
dos2unix_main                                        437     429      -8
fbsplash_main                                        950     938     -12
handle_dir_common                                    371     354     -17
expand_vars_to_list                                 2197    2169     -28
update_passwd                                       1275    1246     -29
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 7/10 up/down: 117/-117)           Total: 0 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/libbb/update_passwd.c b/libbb/update_passwd.c
index ba773fc..301893b 100644
--- a/libbb/update_passwd.c
+++ b/libbb/update_passwd.c
@@ -137,12 +137,7 @@
 		fchown(new_fd, sb.st_uid, sb.st_gid);
 	}
 	errno = 0;
-	new_fp = fdopen(new_fd, "w");
-	if (!new_fp) {
-		bb_perror_nomsg();
-		close(new_fd);
-		goto unlink_new;
-	}
+	new_fp = xfdopen_for_write(new_fd);
 
 	/* Backup file is "/etc/passwd-" */
 	*sfx_char = '-';