Program: 22694
Project: 22694
Buggy source:
private AuthorityInfo parseAuthority(XmlPullParser parser,int version){
  AuthorityInfo authority=null;
  int id=-1;
  try {
    id=Integer.parseInt(parser.getAttributeValue(null,"String_Node_Str"));
  }
 catch (  NumberFormatException e) {
    Log.e(TAG,"String_Node_Str",e);
  }
catch (  NullPointerException e) {
    Log.e(TAG,"String_Node_Str",e);
  }
  if (id >= 0) {
    String accountName=parser.getAttributeValue(null,"String_Node_Str");
    String accountType=parser.getAttributeValue(null,"String_Node_Str");
    if (accountType == null) {
      accountType="String_Node_Str";
    }
    String authorityName=parser.getAttributeValue(null,"String_Node_Str");
    String enabled=parser.getAttributeValue(null,"String_Node_Str");
    String syncable=parser.getAttributeValue(null,"String_Node_Str");
    authority=mAuthorities.get(id);
    if (DEBUG_FILE)     Log.v(TAG,"String_Node_Str" + accountName + "String_Node_Str"+ authorityName+ "String_Node_Str"+ enabled+ "String_Node_Str"+ syncable);
    if (authority == null) {
      if (DEBUG_FILE)       Log.v(TAG,"String_Node_Str");
      authority=getOrCreateAuthorityLocked(new Account(accountName,accountType),authorityName,id,false);
      if (version > 0) {
        authority.periodicSyncs.clear();
      }
    }
    if (authority != null) {
      authority.enabled=enabled == null || Boolean.parseBoolean(enabled);
      if ("String_Node_Str".equals(syncable)) {
        authority.syncable=-1;
      }
 else {
        authority.syncable=(syncable == null || Boolean.parseBoolean(enabled)) ? 1 : 0;
      }
    }
 else {
      Log.w(TAG,"String_Node_Str" + accountName + "String_Node_Str"+ authorityName+ "String_Node_Str"+ enabled+ "String_Node_Str"+ syncable);
    }
  }
  return authority;
}

Fixed version (ground truth):
private AuthorityInfo parseAuthority(XmlPullParser parser,int version){
  AuthorityInfo authority=null;
  int id=-1;
  try {
    id=Integer.parseInt(parser.getAttributeValue(null,"String_Node_Str"));
  }
 catch (  NumberFormatException e) {
    Log.e(TAG,"String_Node_Str",e);
  }
catch (  NullPointerException e) {
    Log.e(TAG,"String_Node_Str",e);
  }
  if (id >= 0) {
    String authorityName=parser.getAttributeValue(null,"String_Node_Str");
    String enabled=parser.getAttributeValue(null,"String_Node_Str");
    String syncable=parser.getAttributeValue(null,"String_Node_Str");
    String accountName=parser.getAttributeValue(null,"String_Node_Str");
    String accountType=parser.getAttributeValue(null,"String_Node_Str");
    if (accountType == null) {
      accountType="String_Node_Str";
      syncable="String_Node_Str";
    }
    authority=mAuthorities.get(id);
    if (DEBUG_FILE)     Log.v(TAG,"String_Node_Str" + accountName + "String_Node_Str"+ authorityName+ "String_Node_Str"+ enabled+ "String_Node_Str"+ syncable);
    if (authority == null) {
      if (DEBUG_FILE)       Log.v(TAG,"String_Node_Str");
      authority=getOrCreateAuthorityLocked(new Account(accountName,accountType),authorityName,id,false);
      if (version > 0) {
        authority.periodicSyncs.clear();
      }
    }
    if (authority != null) {
      authority.enabled=enabled == null || Boolean.parseBoolean(enabled);
      if ("String_Node_Str".equals(syncable)) {
        authority.syncable=-1;
      }
 else {
        authority.syncable=(syncable == null || Boolean.parseBoolean(syncable)) ? 1 : 0;
      }
    }
 else {
      Log.w(TAG,"String_Node_Str" + accountName + "String_Node_Str"+ authorityName+ "String_Node_Str"+ enabled+ "String_Node_Str"+ syncable);
    }
  }
  return authority;
}