Program: 78346
Project: 78346
Buggy source:
protected void launch(ComputeEngineComputer computer,TaskListener listener,Instance inst) throws IOException, InterruptedException {
  final Connection bootstrapConn;
  final Connection conn;
  Connection cleanupConn=null;
  boolean successful=false;
  PrintStream logger=listener.getLogger();
  logInfo(computer,listener,"String_Node_Str" + computer.getNode().getNodeName());
  try {
    GoogleKeyPair kp=setupSshKeys(computer);
    boolean isBootstrapped=bootstrap(kp,computer,listener);
    if (isBootstrapped) {
      logInfo(computer,listener,"String_Node_Str");
      cleanupConn=connectToSsh(computer,listener);
      if (!cleanupConn.authenticateWithPublicKey(SSH_USER,kp.getPrivateKey().toCharArray(),"String_Node_Str")) {
        logWarning(computer,listener,"String_Node_Str");
        return;
      }
    }
 else {
      logWarning(computer,listener,"String_Node_Str");
      return;
    }
    conn=cleanupConn;
    SCPClient scp=conn.createSCPClient();
    String tmpDir="String_Node_Str";
    logInfo(computer,listener,"String_Node_Str" + tmpDir);
    scp.put(Jenkins.getInstance().getJnlpJars("String_Node_Str").readFully(),"String_Node_Str",tmpDir);
    if (!testCommand(computer,conn,"String_Node_Str",logger,listener)) {
      logWarning(computer,listener,"String_Node_Str");
    }
    String launchString="String_Node_Str" + tmpDir + "String_Node_Str";
    logInfo(computer,listener,"String_Node_Str" + launchString);
    final Session sess=conn.openSession();
    sess.execCommand(launchString);
    computer.setChannel(sess.getStdout(),sess.getStdin(),logger,new Channel.Listener(){
      @Override public void onClosed(      Channel channel,      IOException cause){
        sess.close();
        conn.close();
      }
    }
);
  }
 catch (  Exception e) {
    logException(computer,listener,"String_Node_Str",e);
  }
}

Fixed version (ground truth):
protected void launch(ComputeEngineComputer computer,TaskListener listener,Instance inst) throws IOException, InterruptedException {
  ComputeEngineInstance node=computer.getNode();
  if (node == null) {
    logWarning(computer,listener,"String_Node_Str");
    return;
  }
  final Connection bootstrapConn;
  final Connection conn;
  Connection cleanupConn=null;
  boolean successful=false;
  PrintStream logger=listener.getLogger();
  logInfo(computer,listener,"String_Node_Str" + node.getNodeName());
  try {
    GoogleKeyPair kp=setupSshKeys(computer);
    boolean isBootstrapped=bootstrap(kp,computer,listener);
    if (isBootstrapped) {
      logInfo(computer,listener,"String_Node_Str");
      cleanupConn=connectToSsh(computer,listener);
      if (!cleanupConn.authenticateWithPublicKey(SSH_USER,kp.getPrivateKey().toCharArray(),"String_Node_Str")) {
        logWarning(computer,listener,"String_Node_Str");
        return;
      }
    }
 else {
      logWarning(computer,listener,"String_Node_Str");
      return;
    }
    conn=cleanupConn;
    SCPClient scp=conn.createSCPClient();
    String tmpDir="String_Node_Str";
    logInfo(computer,listener,"String_Node_Str" + tmpDir);
    scp.put(Jenkins.getInstance().getJnlpJars("String_Node_Str").readFully(),"String_Node_Str",tmpDir);
    if (!testCommand(computer,conn,"String_Node_Str",logger,listener)) {
      logWarning(computer,listener,"String_Node_Str");
    }
    String launchString="String_Node_Str" + tmpDir + "String_Node_Str";
    logInfo(computer,listener,"String_Node_Str" + launchString);
    final Session sess=conn.openSession();
    sess.execCommand(launchString);
    computer.setChannel(sess.getStdout(),sess.getStdin(),logger,new Channel.Listener(){
      @Override public void onClosed(      Channel channel,      IOException cause){
        sess.close();
        conn.close();
      }
    }
);
  }
 catch (  Exception e) {
    logException(computer,listener,"String_Node_Str",e);
  }
}