Program: 24992
Project: 24992
Buggy source:
private void processSettings() throws RemoteException {
  SharedPreferences prefs=PreferenceManager.getDefaultSharedPreferences(this);
  boolean useBridges=prefs.getBoolean(PREF_BRIDGES_ENABLED,false);
  boolean autoUpdateBridges=prefs.getBoolean(PREF_BRIDGES_UPDATED,false);
  boolean becomeRelay=prefs.getBoolean(PREF_OR,false);
  boolean ReachableAddresses=prefs.getBoolean(PREF_REACHABLE_ADDRESSES,false);
  boolean enableTransparentProxy=prefs.getBoolean(PREF_TRANSPARENT,false);
  String bridgeList=prefs.getString(PREF_BRIDGES_LIST,"String_Node_Str");
  if (useBridges) {
    if (bridgeList == null || bridgeList.length() == 0) {
      showAlert("String_Node_Str","String_Node_Str" + "String_Node_Str");
      return;
    }
    mService.updateConfiguration("String_Node_Str","String_Node_Str",false);
    String bridgeDelim="String_Node_Str";
    if (bridgeList.indexOf("String_Node_Str") != -1) {
      bridgeDelim="String_Node_Str";
    }
    StringTokenizer st=new StringTokenizer(bridgeList,bridgeDelim);
    while (st.hasMoreTokens()) {
      mService.updateConfiguration("String_Node_Str",st.nextToken(),false);
    }
    mService.updateConfiguration("String_Node_Str","String_Node_Str",false);
  }
 else {
    mService.updateConfiguration("String_Node_Str","String_Node_Str",false);
  }
  try {
    if (ReachableAddresses) {
      String ReachableAddressesPorts=prefs.getString(PREF_REACHABLE_ADDRESSES_PORTS,"String_Node_Str");
      mService.updateConfiguration("String_Node_Str",ReachableAddressesPorts,false);
    }
  }
 catch (  Exception e) {
    showAlert("String_Node_Str","String_Node_Str");
  }
  try {
    if (becomeRelay && (!useBridges) && (!ReachableAddresses)) {
      int ORPort=Integer.parseInt(prefs.getString(PREF_OR_PORT,"String_Node_Str"));
      String nickname=prefs.getString(PREF_OR_NICKNAME,"String_Node_Str");
      mService.updateConfiguration("String_Node_Str",ORPort + "String_Node_Str",false);
      mService.updateConfiguration("String_Node_Str",nickname,false);
      mService.updateConfiguration("String_Node_Str","String_Node_Str",false);
    }
  }
 catch (  Exception e) {
    showAlert("String_Node_Str","String_Node_Str");
    return;
  }
  mService.saveConfiguration();
}

Fixed version (ground truth):
private void processSettings() throws RemoteException {
  SharedPreferences prefs=PreferenceManager.getDefaultSharedPreferences(this);
  boolean useBridges=prefs.getBoolean(PREF_BRIDGES_ENABLED,false);
  boolean autoUpdateBridges=prefs.getBoolean(PREF_BRIDGES_UPDATED,false);
  boolean becomeRelay=prefs.getBoolean(PREF_OR,false);
  boolean ReachableAddresses=prefs.getBoolean(PREF_REACHABLE_ADDRESSES,false);
  boolean enableTransparentProxy=prefs.getBoolean(PREF_TRANSPARENT,false);
  mService.updateTransProxy();
  String bridgeList=prefs.getString(PREF_BRIDGES_LIST,"String_Node_Str");
  if (useBridges) {
    if (bridgeList == null || bridgeList.length() == 0) {
      showAlert("String_Node_Str","String_Node_Str" + "String_Node_Str");
      return;
    }
    mService.updateConfiguration("String_Node_Str","String_Node_Str",false);
    String bridgeDelim="String_Node_Str";
    if (bridgeList.indexOf("String_Node_Str") != -1) {
      bridgeDelim="String_Node_Str";
    }
    StringTokenizer st=new StringTokenizer(bridgeList,bridgeDelim);
    while (st.hasMoreTokens()) {
      mService.updateConfiguration("String_Node_Str",st.nextToken(),false);
    }
    mService.updateConfiguration("String_Node_Str","String_Node_Str",false);
  }
 else {
    mService.updateConfiguration("String_Node_Str","String_Node_Str",false);
  }
  try {
    if (ReachableAddresses) {
      String ReachableAddressesPorts=prefs.getString(PREF_REACHABLE_ADDRESSES_PORTS,"String_Node_Str");
      mService.updateConfiguration("String_Node_Str",ReachableAddressesPorts,false);
    }
  }
 catch (  Exception e) {
    showAlert("String_Node_Str","String_Node_Str");
  }
  try {
    if (becomeRelay && (!useBridges) && (!ReachableAddresses)) {
      int ORPort=Integer.parseInt(prefs.getString(PREF_OR_PORT,"String_Node_Str"));
      String nickname=prefs.getString(PREF_OR_NICKNAME,"String_Node_Str");
      mService.updateConfiguration("String_Node_Str",ORPort + "String_Node_Str",false);
      mService.updateConfiguration("String_Node_Str",nickname,false);
      mService.updateConfiguration("String_Node_Str","String_Node_Str",false);
    }
  }
 catch (  Exception e) {
    showAlert("String_Node_Str","String_Node_Str");
    return;
  }
  mService.saveConfiguration();
}