Program: 152697
Project: 152697
Buggy source:
/** 
 * Gets the next row of apn values.
 * @param parser the parser
 * @return the row or null if it's not an apn
 */
private ContentValues getRow(XmlPullParser parser){
  if (!"String_Node_Str".equals(parser.getName())) {
    return null;
  }
  ContentValues map=new ContentValues();
  String mcc=parser.getAttributeValue(null,"String_Node_Str");
  String mnc=parser.getAttributeValue(null,"String_Node_Str");
  String numeric=mcc + mnc;
  map.put(Telephony.Carriers.NUMERIC,numeric);
  map.put(Telephony.Carriers.MCC,mcc);
  map.put(Telephony.Carriers.MNC,mnc);
  map.put(Telephony.Carriers.NAME,parser.getAttributeValue(null,"String_Node_Str"));
  map.put(Telephony.Carriers.APN,parser.getAttributeValue(null,"String_Node_Str"));
  map.put(Telephony.Carriers.USER,parser.getAttributeValue(null,"String_Node_Str"));
  map.put(Telephony.Carriers.SERVER,parser.getAttributeValue(null,"String_Node_Str"));
  map.put(Telephony.Carriers.PASSWORD,parser.getAttributeValue(null,"String_Node_Str"));
  String proxy=parser.getAttributeValue(null,"String_Node_Str");
  if (proxy != null) {
    map.put(Telephony.Carriers.PROXY,proxy);
  }
  String port=parser.getAttributeValue(null,"String_Node_Str");
  if (port != null) {
    map.put(Telephony.Carriers.PORT,port);
  }
  String mmsproxy=parser.getAttributeValue(null,"String_Node_Str");
  if (mmsproxy != null) {
    map.put(Telephony.Carriers.MMSPROXY,mmsproxy);
  }
  String mmsport=parser.getAttributeValue(null,"String_Node_Str");
  if (mmsport != null) {
    map.put(Telephony.Carriers.MMSPORT,mmsport);
  }
  map.put(Telephony.Carriers.MMSC,parser.getAttributeValue(null,"String_Node_Str"));
  String type=parser.getAttributeValue(null,"String_Node_Str");
  if (type != null) {
    map.put(Telephony.Carriers.TYPE,type);
  }
  String auth=parser.getAttributeValue(null,"String_Node_Str");
  if (auth != null) {
    map.put(Telephony.Carriers.AUTH_TYPE,Integer.parseInt(auth));
  }
  String protocol=parser.getAttributeValue(null,"String_Node_Str");
  if (protocol != null) {
    map.put(Telephony.Carriers.PROTOCOL,protocol);
  }
  String roamingProtocol=parser.getAttributeValue(null,"String_Node_Str");
  if (roamingProtocol != null) {
    map.put(Telephony.Carriers.ROAMING_PROTOCOL,roamingProtocol);
  }
  String carrierEnabled=parser.getAttributeValue(null,"String_Node_Str");
  if (carrierEnabled != null) {
    map.put(Telephony.Carriers.CARRIER_ENABLED,Boolean.parseBoolean(carrierEnabled));
  }
  String bearer=parser.getAttributeValue(null,"String_Node_Str");
  if (bearer != null) {
    map.put(Telephony.Carriers.BEARER,Integer.parseInt(bearer));
  }
  String mvno_type=parser.getAttributeValue(null,"String_Node_Str");
  if (mvno_type != null) {
    String mvno_match_data=parser.getAttributeValue(null,"String_Node_Str");
    if (mvno_match_data != null) {
      map.put(Telephony.Carriers.MVNO_TYPE,mvno_type);
      map.put(Telephony.Carriers.MVNO_MATCH_DATA,mvno_match_data);
    }
  }
  String profileId=parser.getAttributeValue(null,"String_Node_Str");
  if (profileId != null) {
    map.put(Telephony.Carriers.PROFILE_ID,Integer.parseInt(profileId));
  }
  String modemCognitive=parser.getAttributeValue(null,"String_Node_Str");
  if (carrierEnabled != null) {
    map.put(Telephony.Carriers.MODEM_COGNITIVE,Boolean.parseBoolean(modemCognitive));
  }
  String maxConns=parser.getAttributeValue(null,"String_Node_Str");
  if (maxConns != null) {
    map.put(Telephony.Carriers.MAX_CONNS,Integer.parseInt(maxConns));
  }
  String waitTime=parser.getAttributeValue(null,"String_Node_Str");
  if (waitTime != null) {
    map.put(Telephony.Carriers.WAIT_TIME,Integer.parseInt(waitTime));
  }
  String maxConnsTime=parser.getAttributeValue(null,"String_Node_Str");
  if (maxConnsTime != null) {
    map.put(Telephony.Carriers.MAX_CONNS_TIME,Integer.parseInt(maxConnsTime));
  }
  String mtu=parser.getAttributeValue(null,"String_Node_Str");
  if (mtu != null) {
    map.put(Telephony.Carriers.MTU,Integer.parseInt(mtu));
  }
  return map;
}

Fixed version (ground truth):
/** 
 * Gets the next row of apn values.
 * @param parser the parser
 * @return the row or null if it's not an apn
 */
private ContentValues getRow(XmlPullParser parser){
  if (!"String_Node_Str".equals(parser.getName())) {
    return null;
  }
  ContentValues map=new ContentValues();
  String mcc=parser.getAttributeValue(null,"String_Node_Str");
  String mnc=parser.getAttributeValue(null,"String_Node_Str");
  String numeric=mcc + mnc;
  map.put(Telephony.Carriers.NUMERIC,numeric);
  map.put(Telephony.Carriers.MCC,mcc);
  map.put(Telephony.Carriers.MNC,mnc);
  map.put(Telephony.Carriers.NAME,parser.getAttributeValue(null,"String_Node_Str"));
  map.put(Telephony.Carriers.APN,parser.getAttributeValue(null,"String_Node_Str"));
  map.put(Telephony.Carriers.USER,parser.getAttributeValue(null,"String_Node_Str"));
  map.put(Telephony.Carriers.SERVER,parser.getAttributeValue(null,"String_Node_Str"));
  map.put(Telephony.Carriers.PASSWORD,parser.getAttributeValue(null,"String_Node_Str"));
  String proxy=parser.getAttributeValue(null,"String_Node_Str");
  if (proxy != null) {
    map.put(Telephony.Carriers.PROXY,proxy);
  }
  String port=parser.getAttributeValue(null,"String_Node_Str");
  if (port != null) {
    map.put(Telephony.Carriers.PORT,port);
  }
  String mmsproxy=parser.getAttributeValue(null,"String_Node_Str");
  if (mmsproxy != null) {
    map.put(Telephony.Carriers.MMSPROXY,mmsproxy);
  }
  String mmsport=parser.getAttributeValue(null,"String_Node_Str");
  if (mmsport != null) {
    map.put(Telephony.Carriers.MMSPORT,mmsport);
  }
  map.put(Telephony.Carriers.MMSC,parser.getAttributeValue(null,"String_Node_Str"));
  String type=parser.getAttributeValue(null,"String_Node_Str");
  if (type != null) {
    map.put(Telephony.Carriers.TYPE,type);
  }
  String auth=parser.getAttributeValue(null,"String_Node_Str");
  if (auth != null) {
    map.put(Telephony.Carriers.AUTH_TYPE,Integer.parseInt(auth));
  }
  String protocol=parser.getAttributeValue(null,"String_Node_Str");
  if (protocol != null) {
    map.put(Telephony.Carriers.PROTOCOL,protocol);
  }
  String roamingProtocol=parser.getAttributeValue(null,"String_Node_Str");
  if (roamingProtocol != null) {
    map.put(Telephony.Carriers.ROAMING_PROTOCOL,roamingProtocol);
  }
  String carrierEnabled=parser.getAttributeValue(null,"String_Node_Str");
  if (carrierEnabled != null) {
    map.put(Telephony.Carriers.CARRIER_ENABLED,Boolean.parseBoolean(carrierEnabled));
  }
  String bearer=parser.getAttributeValue(null,"String_Node_Str");
  if (bearer != null) {
    map.put(Telephony.Carriers.BEARER,Integer.parseInt(bearer));
  }
  String mvno_type=parser.getAttributeValue(null,"String_Node_Str");
  if (mvno_type != null) {
    String mvno_match_data=parser.getAttributeValue(null,"String_Node_Str");
    if (mvno_match_data != null) {
      map.put(Telephony.Carriers.MVNO_TYPE,mvno_type);
      map.put(Telephony.Carriers.MVNO_MATCH_DATA,mvno_match_data);
    }
  }
  String profileId=parser.getAttributeValue(null,"String_Node_Str");
  if (profileId != null) {
    map.put(Telephony.Carriers.PROFILE_ID,Integer.parseInt(profileId));
  }
  String modemCognitive=parser.getAttributeValue(null,"String_Node_Str");
  if (modemCognitive != null) {
    map.put(Telephony.Carriers.MODEM_COGNITIVE,Boolean.parseBoolean(modemCognitive));
  }
  String maxConns=parser.getAttributeValue(null,"String_Node_Str");
  if (maxConns != null) {
    map.put(Telephony.Carriers.MAX_CONNS,Integer.parseInt(maxConns));
  }
  String waitTime=parser.getAttributeValue(null,"String_Node_Str");
  if (waitTime != null) {
    map.put(Telephony.Carriers.WAIT_TIME,Integer.parseInt(waitTime));
  }
  String maxConnsTime=parser.getAttributeValue(null,"String_Node_Str");
  if (maxConnsTime != null) {
    map.put(Telephony.Carriers.MAX_CONNS_TIME,Integer.parseInt(maxConnsTime));
  }
  String mtu=parser.getAttributeValue(null,"String_Node_Str");
  if (mtu != null) {
    map.put(Telephony.Carriers.MTU,Integer.parseInt(mtu));
  }
  return map;
}