Program: 143825
Project: 143825
Buggy source:
@Override public void onReceive(Context c,Intent intent){
  context=c;
  userPref=PreferenceManager.getDefaultSharedPreferences(context);
  activ_notif=userPref.getBoolean(LheidoUtils.receiver_notification_key,true);
  vibrate=userPref.getBoolean(LheidoUtils.vibration_key,true);
  v=(Vibrator)context.getSystemService(Context.VIBRATOR_SERVICE);
  String iAction=intent.getAction();
  if (iAction.equals(LheidoUtils.ACTION_RECEIVE_SMS)) {
    Bundle bundle=intent.getExtras();
    if (bundle != null) {
      Object[] pdus=(Object[])bundle.get("String_Node_Str");
      final SmsMessage[] messages=new SmsMessage[pdus.length];
      for (int i=0; i < pdus.length; i++) {
        messages[i]=SmsMessage.createFromPdu((byte[])pdus[i]);
      }
      if (messages.length > -1) {
        body="String_Node_Str";
        for (        SmsMessage x : messages) {
          body+=x.getMessageBody();
        }
        date=messages[0].getTimestampMillis();
        phone=messages[0].getDisplayOriginatingAddress();
        new_name=LheidoContact.getContactName(context,phone);
        Log.v("String_Node_Str","String_Node_Str" + phone);
        if (!notificationsId.containsKey(phone))         notificationsId.put(phone,notificationsId.size());
        Log.v("String_Node_Str",notificationsId.toString());
        customReceivedSMS();
      }
    }
  }
 else   if (iAction.equals(LheidoUtils.ACTION_DELIVERED_SMS)) {
switch (getResultCode()) {
case Activity.RESULT_OK:
      long _id=intent.getExtras().getLong(LheidoUtils.ARG_SMS_DELIVERED,-1);
    if (_id != -1) {
      ContentValues values=new ContentValues();
      values.put("String_Node_Str",0);
      try {
        context.getContentResolver().update(Uri.parse("String_Node_Str" + _id),values,null,null);
        customDelivered(_id);
      }
 catch (      Exception ex) {
        Toast.makeText(context,ex.toString(),Toast.LENGTH_LONG).show();
      }
    }
  break;
default :
Toast.makeText(context,"String_Node_Str",Toast.LENGTH_SHORT).show();
if (vibrate) v.vibrate(2000);
break;
}
}
 else if (iAction.equals(LheidoUtils.ACTION_SENT_SMS)) {
switch (getResultCode()) {
case Activity.RESULT_OK:
break;
default :
Toast.makeText(context,"String_Node_Str",Toast.LENGTH_SHORT).show();
if (vibrate) v.vibrate(2000);
break;
}
}
 else if (iAction.equals(LheidoUtils.ACTION_NEW_MESSAGE_READ)) {
int position=intent.getIntExtra("String_Node_Str",0);
String phone=intent.getStringExtra("String_Node_Str");
customNewMessageRead(position,phone);
}
 else if (iAction.equals(LheidoUtils.ACTION_RECEIVE_MMS)) {
customReceivedMMS();
}
}

Fixed version (ground truth):
@Override public void onReceive(Context c,Intent intent){
  context=c;
  userPref=PreferenceManager.getDefaultSharedPreferences(context);
  activ_notif=userPref.getBoolean(LheidoUtils.receiver_notification_key,true);
  vibrate=userPref.getBoolean(LheidoUtils.vibration_key,true);
  v=(Vibrator)context.getSystemService(Context.VIBRATOR_SERVICE);
  String iAction=intent.getAction();
  if (iAction.equals(LheidoUtils.ACTION_CANCEL_VIBRATOR)) {
    v.cancel();
  }
 else   if (iAction.equals(LheidoUtils.ACTION_RECEIVE_SMS)) {
    Bundle bundle=intent.getExtras();
    if (bundle != null) {
      Object[] pdus=(Object[])bundle.get("String_Node_Str");
      final SmsMessage[] messages=new SmsMessage[pdus.length];
      for (int i=0; i < pdus.length; i++) {
        messages[i]=SmsMessage.createFromPdu((byte[])pdus[i]);
      }
      if (messages.length > -1) {
        body="String_Node_Str";
        for (        SmsMessage x : messages) {
          body+=x.getMessageBody();
        }
        date=messages[0].getTimestampMillis();
        phone=messages[0].getDisplayOriginatingAddress();
        new_name=LheidoContact.getContactName(context,phone);
        Log.v("String_Node_Str","String_Node_Str" + phone);
        if (!notificationsId.containsKey(phone))         notificationsId.put(phone,notificationsId.size());
        Log.v("String_Node_Str",notificationsId.toString());
        customReceivedSMS();
      }
    }
  }
 else   if (iAction.equals(LheidoUtils.ACTION_DELIVERED_SMS)) {
switch (getResultCode()) {
case Activity.RESULT_OK:
      long _id=intent.getExtras().getLong(LheidoUtils.ARG_SMS_DELIVERED,-1);
    if (_id != -1) {
      ContentValues values=new ContentValues();
      values.put("String_Node_Str",0);
      try {
        context.getContentResolver().update(Uri.parse("String_Node_Str" + _id),values,null,null);
        customDelivered(_id);
      }
 catch (      Exception ex) {
        Toast.makeText(context,ex.toString(),Toast.LENGTH_LONG).show();
      }
    }
  break;
default :
Toast.makeText(context,"String_Node_Str",Toast.LENGTH_SHORT).show();
try {
if (vibrate) v.vibrate(2000);
}
 catch (Exception e) {
Toast.makeText(context,e.getMessage(),Toast.LENGTH_LONG).show();
}
break;
}
}
 else if (iAction.equals(LheidoUtils.ACTION_SENT_SMS)) {
switch (getResultCode()) {
case Activity.RESULT_OK:
break;
default :
Toast.makeText(context,"String_Node_Str",Toast.LENGTH_SHORT).show();
try {
if (vibrate) v.vibrate(2000);
}
 catch (Exception e) {
Toast.makeText(context,e.getMessage(),Toast.LENGTH_LONG).show();
}
break;
}
}
 else if (iAction.equals(LheidoUtils.ACTION_NEW_MESSAGE_READ)) {
int position=intent.getIntExtra("String_Node_Str",0);
String phone=intent.getStringExtra("String_Node_Str");
customNewMessageRead(position,phone);
}
 else if (iAction.equals(LheidoUtils.ACTION_RECEIVE_MMS)) {
customReceivedMMS();
}
}