main( int argc, char **argv )
{
char buf[ 4096 ];
- FILE *fp;
+ FILE *fp = NULL;
LDAP *ld;
int rc, retval;
- fp = NULL;
-
tool_init( TOOL_DELETE );
prog = lutil_progname( "ldapdelete", argc, argv );
exit( EXIT_FAILURE );
}
} else {
- if ( optind >= argc ) {
- fp = stdin;
- }
+ if ( optind >= argc ) {
+ fp = stdin;
+ }
}
ld = tool_conn_setup( 0, &private_conn_setup );
if ( pw_file || want_bindpw ) {
if ( pw_file ) {
rc = lutil_get_filed_password( pw_file, &passwd );
- if( rc ) return EXIT_FAILURE;
+ if( rc ) {
+ if ( fp && fp != stdin )
+ fclose( fp );
+ return EXIT_FAILURE;
+ }
} else {
passwd.bv_val = getpassphrase( _("Enter LDAP Password: ") );
passwd.bv_len = passwd.bv_val ? strlen( passwd.bv_val ) : 0;
retval = rc;
}
}
+ if ( fp != stdin )
+ fclose( fp );
}
tool_unbind( ld );