Program: 30348
Project: 30348
Buggy source:
private int runAdminCommandOnRemoteNode(Node node,StringBuilder output,List<String> args,List<String> stdinLines) throws SSHCommandExecutionException, IllegalArgumentException, UnsupportedOperationException {
  if (!isSshNode(node)) {
    throw new UnsupportedOperationException("String_Node_Str");
  }
  String installDir=node.getInstallDirUnixStyle() + "String_Node_Str" + SystemPropertyConstants.getComponentName();
  if (!StringUtils.ok(installDir)) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  List<String> fullcommand=new ArrayList<String>();
  fullcommand.add(installDir + "String_Node_Str");
  fullcommand.addAll(args);
  try {
    lastCommandRun=commandListToString(fullcommand);
    trace("String_Node_Str" + node.getNodeHost() + "String_Node_Str"+ lastCommandRun);
    sshL=habitat.getComponent(SSHLauncher.class);
    sshL.init(node,logger);
    ByteArrayOutputStream outStream=new ByteArrayOutputStream();
    commandStatus=sshL.runCommand(fullcommand,outStream,stdinLines);
    String results=outStream.toString();
    output.append(outStream.toString());
    return commandStatus;
  }
 catch (  IOException ex) {
    String m1="String_Node_Str" + ex.getMessage();
    String m2="String_Node_Str";
    Throwable e2=ex.getCause();
    if (e2 != null) {
      m2=e2.getMessage();
    }
    logger.severe("String_Node_Str" + lastCommandRun);
    SSHCommandExecutionException cee=new SSHCommandExecutionException(StringUtils.cat("String_Node_Str",m1));
    cee.setSSHSettings(sshL.toString());
    cee.setCommandRun(lastCommandRun);
    throw cee;
  }
catch (  java.lang.InterruptedException ei) {
    ei.printStackTrace();
    String m1=ei.getMessage();
    String m2="String_Node_Str";
    Throwable e2=ei.getCause();
    if (e2 != null) {
      m2=e2.getMessage();
    }
    logger.severe("String_Node_Str" + lastCommandRun);
    SSHCommandExecutionException cee=new SSHCommandExecutionException(StringUtils.cat("String_Node_Str",m1,m2));
    cee.setSSHSettings(sshL.toString());
    cee.setCommandRun(lastCommandRun);
    throw cee;
  }
}

Fixed version (ground truth):
private int runAdminCommandOnRemoteNode(Node node,StringBuilder output,List<String> args,List<String> stdinLines) throws SSHCommandExecutionException, IllegalArgumentException, UnsupportedOperationException {
  if (!isSshNode(node)) {
    throw new UnsupportedOperationException("String_Node_Str");
  }
  String installDir=node.getInstallDirUnixStyle() + "String_Node_Str" + SystemPropertyConstants.getComponentName();
  if (!StringUtils.ok(installDir)) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  List<String> fullcommand=new ArrayList<String>();
  fullcommand.add(installDir + "String_Node_Str");
  fullcommand.addAll(args);
  try {
    lastCommandRun=commandListToString(fullcommand);
    trace("String_Node_Str" + node.getNodeHost() + "String_Node_Str"+ lastCommandRun);
    sshL=habitat.getComponent(SSHLauncher.class);
    sshL.init(node,logger);
    ByteArrayOutputStream outStream=new ByteArrayOutputStream();
    commandStatus=sshL.runCommand(fullcommand,outStream,stdinLines);
    output.append(outStream.toString());
    return commandStatus;
  }
 catch (  IOException ex) {
    String m1="String_Node_Str" + ex.getMessage();
    String m2="String_Node_Str";
    Throwable e2=ex.getCause();
    if (e2 != null) {
      m2=e2.getMessage();
    }
    logger.severe("String_Node_Str" + lastCommandRun);
    SSHCommandExecutionException cee=new SSHCommandExecutionException(StringUtils.cat("String_Node_Str",m1,m2));
    cee.setSSHSettings(sshL.toString());
    cee.setCommandRun(lastCommandRun);
    throw cee;
  }
catch (  java.lang.InterruptedException ei) {
    ei.printStackTrace();
    String m1=ei.getMessage();
    String m2="String_Node_Str";
    Throwable e2=ei.getCause();
    if (e2 != null) {
      m2=e2.getMessage();
    }
    logger.severe("String_Node_Str" + lastCommandRun);
    SSHCommandExecutionException cee=new SSHCommandExecutionException(StringUtils.cat("String_Node_Str",m1,m2));
    cee.setSSHSettings(sshL.toString());
    cee.setCommandRun(lastCommandRun);
    throw cee;
  }
}