Program: 3590
Project: 3590
Buggy source:
@Override public View getView(int i,View convertView,ViewGroup viewGroup){
  View rowView=convertView;
  final PasswordItem pass=values.get(i);
  if (rowView == null) {
    LayoutInflater inflater=(LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    rowView=inflater.inflate(R.layout.password_row_layout,viewGroup,false);
    ViewHolder viewHolder=new ViewHolder();
    viewHolder.name=(TextView)rowView.findViewById(R.id.label);
    viewHolder.back_name=(TextView)rowView.findViewById(R.id.label_back);
    viewHolder.type=(TextView)rowView.findViewById(R.id.type);
    rowView.setTag(viewHolder);
    View.OnClickListener onClickListener=new View.OnClickListener(){
      @Override public void onClick(      View view){
switch (view.getId()) {
case R.id.crypto_show_button:
          activity.decryptPassword(pass);
        break;
case R.id.crypto_delete_button:
      activity.deletePassword(pass);
    break;
}
}
}
;
((ImageButton)rowView.findViewById(R.id.crypto_show_button)).setOnClickListener(onClickListener);
((ImageButton)rowView.findViewById(R.id.crypto_delete_button)).setOnClickListener(onClickListener);
}
ViewHolder holder=(ViewHolder)rowView.getTag();
holder.name.setText(pass.toString());
holder.back_name.setText(pass.toString());
if (pass.getType() == PasswordItem.TYPE_CATEGORY) {
holder.name.setTextColor(this.activity.getResources().getColor(android.R.color.holo_blue_dark));
holder.name.setTypeface(Typeface.create(Typeface.DEFAULT,Typeface.BOLD));
holder.type.setText("String_Node_Str");
}
 else {
holder.type.setText("String_Node_Str");
holder.name.setTextColor(this.activity.getResources().getColor(android.R.color.holo_orange_dark));
holder.name.setTypeface(Typeface.create(Typeface.DEFAULT,Typeface.NORMAL));
holder.back_name.setTextColor(this.activity.getResources().getColor(android.R.color.white));
holder.back_name.setTypeface(Typeface.create(Typeface.DEFAULT,Typeface.BOLD_ITALIC));
}
return rowView;
}

Fixed version (ground truth):
@Override public View getView(int i,View convertView,ViewGroup viewGroup){
  View rowView=convertView;
  final PasswordItem pass=values.get(i);
  if (rowView == null) {
    LayoutInflater inflater=(LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    rowView=inflater.inflate(R.layout.password_row_layout,viewGroup,false);
    ViewHolder viewHolder=new ViewHolder();
    viewHolder.name=(TextView)rowView.findViewById(R.id.label);
    viewHolder.back_name=(TextView)rowView.findViewById(R.id.label_back);
    viewHolder.type=(TextView)rowView.findViewById(R.id.type);
    rowView.setTag(viewHolder);
  }
  ViewHolder holder=(ViewHolder)rowView.getTag();
  holder.name.setText(pass.toString());
  holder.back_name.setText(pass.toString());
  if (pass.getType() == PasswordItem.TYPE_CATEGORY) {
    holder.name.setTextColor(this.activity.getResources().getColor(android.R.color.holo_blue_dark));
    holder.name.setTypeface(Typeface.create(Typeface.DEFAULT,Typeface.BOLD));
    holder.type.setText("String_Node_Str");
  }
 else {
    holder.type.setText("String_Node_Str");
    holder.name.setTextColor(this.activity.getResources().getColor(android.R.color.holo_orange_dark));
    holder.name.setTypeface(Typeface.create(Typeface.DEFAULT,Typeface.NORMAL));
    holder.back_name.setTextColor(this.activity.getResources().getColor(android.R.color.white));
    holder.back_name.setTypeface(Typeface.create(Typeface.DEFAULT,Typeface.BOLD_ITALIC));
    View.OnClickListener onClickListener=new View.OnClickListener(){
      @Override public void onClick(      View view){
switch (view.getId()) {
case R.id.crypto_show_button:
          activity.decryptPassword(pass);
        break;
case R.id.crypto_delete_button:
      activity.deletePassword(pass);
    break;
}
}
}
;
((ImageButton)rowView.findViewById(R.id.crypto_show_button)).setOnClickListener(onClickListener);
((ImageButton)rowView.findViewById(R.id.crypto_delete_button)).setOnClickListener(onClickListener);
}
return rowView;
}