Program: 64748
Project: 64748
Buggy source:
private static String[] extractAccountDetails(String smsMsg,int mIndx){
  String reqMatch="String_Node_Str";
  String[] searchFor={"String_Node_Str","String_Node_Str","String_Node_Str"};
  int[] getGroup={4,4,3,1};
  int mFound=1;
  String[] accountDetails=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
  try {
    for (int i=0; i <= searchFor.length - 1; i++) {
      mFound=1;
      Pattern p=Pattern.compile(searchFor[i]);
      Matcher m=p.matcher(smsMsg);
      if (m != null && reqMatch.isEmpty()) {
        while (m.find()) {
          if (mFound == mIndx) {
            reqMatch=m.group(getGroup[i]).trim();
            break;
          }
 else {
            mFound=mFound + 1;
          }
        }
      }
    }
    if (reqMatch != "String_Node_Str") {
      accountDetails=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str",reqMatch};
      String sql="String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str" + reqMatch + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str";
      Cursor accountCursor=db.rawQuery(sql,null);
      if (accountCursor.getCount() > 0) {
        accountCursor.moveToFirst();
        accountDetails=new String[]{accountCursor.getString(accountCursor.getColumnIndex("String_Node_Str")),accountCursor.getString(accountCursor.getColumnIndex("String_Node_Str")),accountCursor.getString(accountCursor.getColumnIndex("String_Node_Str")),accountCursor.getString(accountCursor.getColumnIndex("String_Node_Str")),accountCursor.getString(accountCursor.getColumnIndex("String_Node_Str")),accountCursor.getString(accountCursor.getColumnIndex("String_Node_Str")),reqMatch};
      }
    }
  }
 catch (  Exception e) {
  }
  return accountDetails;
}

Fixed version (ground truth):
private static String[] extractAccountDetails(String smsMsg,int mIndx){
  String reqMatch="String_Node_Str";
  String[] searchFor={"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
  int[] getGroup={4,4,1,1};
  int mFound=1;
  String[] accountDetails=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
  try {
    for (int i=0; i <= searchFor.length - 1; i++) {
      mFound=1;
      Pattern p=Pattern.compile(searchFor[i]);
      Matcher m=p.matcher(smsMsg);
      if (m != null && reqMatch.isEmpty()) {
        while (m.find()) {
          if (mFound == mIndx) {
            reqMatch=m.group(getGroup[i]).trim();
            break;
          }
 else {
            mFound=mFound + 1;
          }
        }
      }
    }
    if (reqMatch != "String_Node_Str") {
      accountDetails=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str",reqMatch};
      String sql="String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str" + reqMatch + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str";
      Cursor accountCursor=db.rawQuery(sql,null);
      if (accountCursor.getCount() > 0) {
        accountCursor.moveToFirst();
        accountDetails=new String[]{accountCursor.getString(accountCursor.getColumnIndex("String_Node_Str")),accountCursor.getString(accountCursor.getColumnIndex("String_Node_Str")),accountCursor.getString(accountCursor.getColumnIndex("String_Node_Str")),accountCursor.getString(accountCursor.getColumnIndex("String_Node_Str")),accountCursor.getString(accountCursor.getColumnIndex("String_Node_Str")),accountCursor.getString(accountCursor.getColumnIndex("String_Node_Str")),reqMatch};
      }
    }
  }
 catch (  Exception e) {
  }
  return accountDetails;
}