Program: 93979
Project: 93979
Buggy source:
public static boolean Logout(Player player){
  if (AuthDB.isAuthorized(player)) {
    if (AuthDB.AuthDB_AuthTime.containsKey(player.getName())) {
      AuthDB.AuthDB_AuthTime.remove(player.getName());
    }
    AuthDB.authorizedNames.remove(player.getName());
    EBean eBeanClass=EBean.checkPlayer(player,true);
    eBeanClass.setAuthorized("String_Node_Str");
    if (AuthDB.AuthDB_Authed.containsKey(Encryption.md5(player.getName()))) {
      AuthDB.AuthDB_Authed.remove(Encryption.md5(player.getName()));
    }
    if (AuthDB.AuthDB_Sessions.containsKey(Encryption.md5(player.getName() + Util.craftFirePlayer.getIP(player)))) {
      AuthDB.AuthDB_Sessions.remove(Encryption.md5(player.getName() + Util.craftFirePlayer.getIP(player)));
    }
    if (AuthDB.AuthDB_SpamMessage.containsKey(player.getName())) {
      AuthDB.server.getScheduler().cancelTask(AuthDB.AuthDB_SpamMessage.get(player.getName()));
      AuthDB.AuthDB_SpamMessage.remove(player.getName());
      AuthDB.AuthDB_SpamMessageTime.remove(player.getName());
    }
    if (AuthDB.AuthDB_Timeouts.containsKey(player.getName())) {
      int TaskID=AuthDB.AuthDB_Timeouts.get(player.getName());
      Util.logging.Debug(player.getName() + "String_Node_Str" + TaskID);
      eBeanClass.setTimeoutid(0);
      if (AuthDB.AuthDB_Timeouts.remove(player.getName()) != null) {
        Util.logging.Debug(player.getName() + "String_Node_Str");
        AuthDB.server.getScheduler().cancelTask(TaskID);
      }
 else {
        Util.logging.Debug("String_Node_Str" + player.getName() + "String_Node_Str");
      }
    }
 else {
      Util.logging.Debug("String_Node_Str" + player.getName() + "String_Node_Str");
    }
    AuthDB.database.save(eBeanClass);
    return true;
  }
  return false;
}

Fixed version (ground truth):
public static boolean Logout(Player player){
  if (AuthDB.isAuthorized(player)) {
    if (AuthDB.AuthDB_AuthTime.containsKey(player.getName())) {
      AuthDB.AuthDB_AuthTime.remove(player.getName());
    }
    AuthDB.authorizedNames.remove(player.getName());
    EBean eBeanClass=EBean.checkPlayer(player,true);
    eBeanClass.setAuthorized("String_Node_Str");
    if (AuthDB.AuthDB_Authed.containsKey(Encryption.md5(player.getName()))) {
      AuthDB.AuthDB_Authed.remove(Encryption.md5(player.getName()));
    }
    if (AuthDB.AuthDB_Sessions.containsKey(Encryption.md5(player.getName() + Util.craftFirePlayer.getIP(player)))) {
      AuthDB.AuthDB_Sessions.remove(Encryption.md5(player.getName() + Util.craftFirePlayer.getIP(player)));
    }
    if (AuthDB.AuthDB_SpamMessage.containsKey(player.getName())) {
      AuthDB.server.getScheduler().cancelTask(AuthDB.AuthDB_SpamMessage.get(player.getName()));
      AuthDB.AuthDB_SpamMessage.remove(player.getName());
      AuthDB.AuthDB_SpamMessageTime.remove(player.getName());
    }
    if (AuthDB.AuthDB_Timeouts.containsKey(player.getName())) {
      int TaskID=AuthDB.AuthDB_Timeouts.get(player.getName());
      Util.logging.Debug(player.getName() + "String_Node_Str" + TaskID);
      eBeanClass.setTimeoutid(0);
      if (AuthDB.AuthDB_Timeouts.remove(player.getName()) != null) {
        Util.logging.Debug(player.getName() + "String_Node_Str");
        AuthDB.server.getScheduler().cancelTask(TaskID);
      }
 else {
        Util.logging.Debug("String_Node_Str" + player.getName() + "String_Node_Str");
      }
    }
 else {
      Util.logging.Debug("String_Node_Str" + player.getName() + "String_Node_Str");
    }
    AuthDB.database.save(eBeanClass);
    try {
      if (Config.hasBackpack) {
        BackpackPlayer BackpackPlayer=BackpackManager.getBackpackPlayer((Player)player);
        BackpackPlayer.createBackpack();
        Util.craftFirePlayer.storeInventory(player,BackpackPlayer.getInventory().getContents(),player.getInventory().getArmorContents());
      }
 else {
        Util.craftFirePlayer.storeInventory(player,player.getInventory().getContents(),player.getInventory().getArmorContents());
      }
    }
 catch (    IOException e) {
      Util.logging.Severe("String_Node_Str" + AuthDB.pluginName + "String_Node_Str");
      player.kickPlayer("String_Node_Str");
      Util.logging.StackTrace(e.getStackTrace(),Thread.currentThread().getStackTrace()[1].getMethodName(),Thread.currentThread().getStackTrace()[1].getLineNumber(),Thread.currentThread().getStackTrace()[1].getClassName(),Thread.currentThread().getStackTrace()[1].getFileName());
    }
    player.getInventory().clear();
    return true;
  }
  return false;
}