Program: 8437
Project: 8437
Buggy source:
@Override public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){
  mDb=db;
  for (int version=oldVersion; version < newVersion; ++version) {
switch (version) {
case 1:
{
        db.execSQL("String_Node_Str" + KeyRings.TABLE_NAME + "String_Node_Str");
        db.execSQL("String_Node_Str" + Keys.TABLE_NAME + "String_Node_Str");
        db.execSQL("String_Node_Str" + UserIds.TABLE_NAME + "String_Node_Str");
        db.execSQL("String_Node_Str" + KeyRings.TABLE_NAME + "String_Node_Str"+ KeyRings._ID+ "String_Node_Str"+ KeyRings._ID_type+ "String_Node_Str"+ KeyRings.MASTER_KEY_ID+ "String_Node_Str"+ KeyRings.MASTER_KEY_ID_type+ "String_Node_Str"+ KeyRings.TYPE+ "String_Node_Str"+ KeyRings.TYPE_type+ "String_Node_Str"+ KeyRings.WHO_ID+ "String_Node_Str"+ KeyRings.WHO_ID_type+ "String_Node_Str"+ KeyRings.KEY_RING_DATA+ "String_Node_Str"+ KeyRings.KEY_RING_DATA_type+ "String_Node_Str");
        db.execSQL("String_Node_Str" + Keys.TABLE_NAME + "String_Node_Str"+ Keys._ID+ "String_Node_Str"+ Keys._ID_type+ "String_Node_Str"+ Keys.KEY_ID+ "String_Node_Str"+ Keys.KEY_ID_type+ "String_Node_Str"+ Keys.TYPE+ "String_Node_Str"+ Keys.TYPE_type+ "String_Node_Str"+ Keys.IS_MASTER_KEY+ "String_Node_Str"+ Keys.IS_MASTER_KEY_type+ "String_Node_Str"+ Keys.ALGORITHM+ "String_Node_Str"+ Keys.ALGORITHM_type+ "String_Node_Str"+ Keys.KEY_SIZE+ "String_Node_Str"+ Keys.KEY_SIZE_type+ "String_Node_Str"+ Keys.CAN_SIGN+ "String_Node_Str"+ Keys.CAN_SIGN_type+ "String_Node_Str"+ Keys.CAN_ENCRYPT+ "String_Node_Str"+ Keys.CAN_ENCRYPT_type+ "String_Node_Str"+ Keys.IS_REVOKED+ "String_Node_Str"+ Keys.IS_REVOKED_type+ "String_Node_Str"+ Keys.CREATION+ "String_Node_Str"+ Keys.CREATION_type+ "String_Node_Str"+ Keys.EXPIRY+ "String_Node_Str"+ Keys.EXPIRY_type+ "String_Node_Str"+ Keys.KEY_RING_ID+ "String_Node_Str"+ Keys.KEY_RING_ID_type+ "String_Node_Str"+ Keys.KEY_DATA+ "String_Node_Str"+ Keys.KEY_DATA_type+ Keys.RANK+ "String_Node_Str"+ Keys.RANK_type+ "String_Node_Str");
        db.execSQL("String_Node_Str" + UserIds.TABLE_NAME + "String_Node_Str"+ UserIds._ID+ "String_Node_Str"+ UserIds._ID_type+ "String_Node_Str"+ UserIds.KEY_ID+ "String_Node_Str"+ UserIds.KEY_ID_type+ "String_Node_Str"+ UserIds.USER_ID+ "String_Node_Str"+ UserIds.USER_ID_type+ "String_Node_Str"+ UserIds.RANK+ "String_Node_Str"+ UserIds.RANK_type+ "String_Node_Str");
        Cursor cursor=db.query(PublicKeys.TABLE_NAME,new String[]{PublicKeys.KEY_DATA},null,null,null,null,null);
        if (cursor != null && cursor.moveToFirst()) {
          do {
            byte[] data=cursor.getBlob(cursor.getColumnIndex(PublicKeys.KEY_DATA));
            try {
              PGPPublicKeyRing keyRing=new PGPPublicKeyRing(data);
              saveKeyRing(keyRing);
              Log.e("String_Node_Str","String_Node_Str" + keyRing);
            }
 catch (            IOException e) {
              Log.e("String_Node_Str","String_Node_Str" + e);
            }
catch (            GeneralException e) {
              Log.e("String_Node_Str","String_Node_Str" + e);
            }
          }
 while (cursor.moveToNext());
        }
        cursor.close();
        cursor=db.query(SecretKeys.TABLE_NAME,new String[]{SecretKeys.KEY_DATA},null,null,null,null,null);
        if (cursor != null && cursor.moveToFirst()) {
          do {
            byte[] data=cursor.getBlob(cursor.getColumnIndex(SecretKeys.KEY_DATA));
            try {
              PGPSecretKeyRing keyRing=new PGPSecretKeyRing(data);
              saveKeyRing(keyRing);
              Log.e("String_Node_Str","String_Node_Str" + keyRing);
            }
 catch (            IOException e) {
              Log.e("String_Node_Str","String_Node_Str" + e);
            }
catch (            PGPException e) {
              Log.e("String_Node_Str","String_Node_Str" + e);
            }
catch (            GeneralException e) {
              Log.e("String_Node_Str","String_Node_Str" + e);
            }
          }
 while (cursor.moveToNext());
        }
        cursor.close();
        break;
      }
default :
{
      break;
    }
}
}
mDb=null;
}

Fixed version (ground truth):
@Override public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){
  mDb=db;
  for (int version=oldVersion; version < newVersion; ++version) {
switch (version) {
case 1:
{
        db.execSQL("String_Node_Str" + KeyRings.TABLE_NAME + "String_Node_Str");
        db.execSQL("String_Node_Str" + Keys.TABLE_NAME + "String_Node_Str");
        db.execSQL("String_Node_Str" + UserIds.TABLE_NAME + "String_Node_Str");
        db.execSQL("String_Node_Str" + KeyRings.TABLE_NAME + "String_Node_Str"+ KeyRings._ID+ "String_Node_Str"+ KeyRings._ID_type+ "String_Node_Str"+ KeyRings.MASTER_KEY_ID+ "String_Node_Str"+ KeyRings.MASTER_KEY_ID_type+ "String_Node_Str"+ KeyRings.TYPE+ "String_Node_Str"+ KeyRings.TYPE_type+ "String_Node_Str"+ KeyRings.WHO_ID+ "String_Node_Str"+ KeyRings.WHO_ID_type+ "String_Node_Str"+ KeyRings.KEY_RING_DATA+ "String_Node_Str"+ KeyRings.KEY_RING_DATA_type+ "String_Node_Str");
        db.execSQL("String_Node_Str" + Keys.TABLE_NAME + "String_Node_Str"+ Keys._ID+ "String_Node_Str"+ Keys._ID_type+ "String_Node_Str"+ Keys.KEY_ID+ "String_Node_Str"+ Keys.KEY_ID_type+ "String_Node_Str"+ Keys.TYPE+ "String_Node_Str"+ Keys.TYPE_type+ "String_Node_Str"+ Keys.IS_MASTER_KEY+ "String_Node_Str"+ Keys.IS_MASTER_KEY_type+ "String_Node_Str"+ Keys.ALGORITHM+ "String_Node_Str"+ Keys.ALGORITHM_type+ "String_Node_Str"+ Keys.KEY_SIZE+ "String_Node_Str"+ Keys.KEY_SIZE_type+ "String_Node_Str"+ Keys.CAN_SIGN+ "String_Node_Str"+ Keys.CAN_SIGN_type+ "String_Node_Str"+ Keys.CAN_ENCRYPT+ "String_Node_Str"+ Keys.CAN_ENCRYPT_type+ "String_Node_Str"+ Keys.IS_REVOKED+ "String_Node_Str"+ Keys.IS_REVOKED_type+ "String_Node_Str"+ Keys.CREATION+ "String_Node_Str"+ Keys.CREATION_type+ "String_Node_Str"+ Keys.EXPIRY+ "String_Node_Str"+ Keys.EXPIRY_type+ "String_Node_Str"+ Keys.KEY_RING_ID+ "String_Node_Str"+ Keys.KEY_RING_ID_type+ "String_Node_Str"+ Keys.KEY_DATA+ "String_Node_Str"+ Keys.KEY_DATA_type+ Keys.RANK+ "String_Node_Str"+ Keys.RANK_type+ "String_Node_Str");
        db.execSQL("String_Node_Str" + UserIds.TABLE_NAME + "String_Node_Str"+ UserIds._ID+ "String_Node_Str"+ UserIds._ID_type+ "String_Node_Str"+ UserIds.KEY_ID+ "String_Node_Str"+ UserIds.KEY_ID_type+ "String_Node_Str"+ UserIds.USER_ID+ "String_Node_Str"+ UserIds.USER_ID_type+ "String_Node_Str"+ UserIds.RANK+ "String_Node_Str"+ UserIds.RANK_type+ "String_Node_Str");
        Cursor cursor=db.query(PublicKeys.TABLE_NAME,new String[]{PublicKeys.KEY_DATA},null,null,null,null,null);
        if (cursor != null && cursor.moveToFirst()) {
          do {
            byte[] data=cursor.getBlob(cursor.getColumnIndex(PublicKeys.KEY_DATA));
            try {
              PGPPublicKeyRing keyRing=new PGPPublicKeyRing(data);
              saveKeyRing(keyRing);
              Log.e("String_Node_Str","String_Node_Str" + keyRing);
            }
 catch (            IOException e) {
              Log.e("String_Node_Str","String_Node_Str" + e);
            }
catch (            GeneralException e) {
              Log.e("String_Node_Str","String_Node_Str" + e);
            }
          }
 while (cursor.moveToNext());
        }
        cursor.close();
        cursor=db.query(SecretKeys.TABLE_NAME,new String[]{SecretKeys.KEY_DATA},null,null,null,null,null);
        if (cursor != null && cursor.moveToFirst()) {
          do {
            byte[] data=cursor.getBlob(cursor.getColumnIndex(SecretKeys.KEY_DATA));
            try {
              PGPSecretKeyRing keyRing=new PGPSecretKeyRing(data);
              saveKeyRing(keyRing);
              Log.e("String_Node_Str","String_Node_Str" + keyRing);
            }
 catch (            IOException e) {
              Log.e("String_Node_Str","String_Node_Str" + e);
            }
catch (            PGPException e) {
              Log.e("String_Node_Str","String_Node_Str" + e);
            }
catch (            GeneralException e) {
              Log.e("String_Node_Str","String_Node_Str" + e);
            }
          }
 while (cursor.moveToNext());
        }
        if (cursor != null) {
          cursor.close();
        }
        break;
      }
default :
{
      break;
    }
}
}
mDb=null;
}