Program: 61434
Project: 61434
Buggy source:
private void parseAttrs(Context context,AttributeSet attrs){
  TypedArray typedArray=context.obtainStyledAttributes(attrs,R.styleable.FButton);
  if (typedArray == null)   return;
  for (int i=0; i < typedArray.getIndexCount(); i++) {
    int attr=typedArray.getIndex(i);
    if (attr == R.styleable.FButton_shadowEnabled) {
      isShadowEnabled=typedArray.getBoolean(attr,true);
    }
 else     if (attr == R.styleable.FButton_buttonColor) {
      mButtonColor=typedArray.getColor(attr,R.color.fbutton_default_color);
    }
 else     if (attr == R.styleable.FButton_shadowColor) {
      mShadowColor=typedArray.getColor(attr,R.color.fbutton_default_shadow_color);
      isShadowColorDefined=true;
    }
 else     if (attr == R.styleable.FButton_shadowHeight) {
      mShadowHeight=typedArray.getDimensionPixelSize(attr,R.dimen.fbutton_default_shadow_height);
    }
 else     if (attr == R.styleable.FButton_cornerRadius) {
      mCornerRadius=typedArray.getDimensionPixelSize(attr,R.dimen.fbutton_default_conner_radius);
    }
  }
  typedArray.recycle();
  int[] attrsArray=new int[]{android.R.attr.paddingLeft,android.R.attr.paddingRight};
  TypedArray ta=context.obtainStyledAttributes(attrs,attrsArray);
  if (ta == null)   return;
  mPaddingLeft=ta.getDimensionPixelSize(0,0);
  mPaddingRight=ta.getDimensionPixelSize(1,0);
  ta.recycle();
  int[] attrsArray2=new int[]{android.R.attr.paddingTop,android.R.attr.paddingBottom};
  TypedArray ta1=context.obtainStyledAttributes(attrs,attrsArray2);
  if (ta1 == null)   return;
  mPaddingTop=ta.getDimensionPixelSize(0,0);
  mPaddingBottom=ta.getDimensionPixelSize(1,0);
  ta1.recycle();
}

Fixed version (ground truth):
private void parseAttrs(Context context,AttributeSet attrs){
  TypedArray typedArray=context.obtainStyledAttributes(attrs,R.styleable.FButton);
  if (typedArray == null)   return;
  for (int i=0; i < typedArray.getIndexCount(); i++) {
    int attr=typedArray.getIndex(i);
    if (attr == R.styleable.FButton_shadowEnabled) {
      isShadowEnabled=typedArray.getBoolean(attr,true);
    }
 else     if (attr == R.styleable.FButton_buttonColor) {
      mButtonColor=typedArray.getColor(attr,R.color.fbutton_default_color);
    }
 else     if (attr == R.styleable.FButton_shadowColor) {
      mShadowColor=typedArray.getColor(attr,R.color.fbutton_default_shadow_color);
      isShadowColorDefined=true;
    }
 else     if (attr == R.styleable.FButton_shadowHeight) {
      mShadowHeight=typedArray.getDimensionPixelSize(attr,R.dimen.fbutton_default_shadow_height);
    }
 else     if (attr == R.styleable.FButton_cornerRadius) {
      mCornerRadius=typedArray.getDimensionPixelSize(attr,R.dimen.fbutton_default_conner_radius);
    }
  }
  typedArray.recycle();
  int[] attrsArray=new int[]{android.R.attr.paddingLeft,android.R.attr.paddingRight};
  TypedArray ta=context.obtainStyledAttributes(attrs,attrsArray);
  if (ta == null)   return;
  mPaddingLeft=ta.getDimensionPixelSize(0,0);
  mPaddingRight=ta.getDimensionPixelSize(1,0);
  ta.recycle();
  int[] attrsArray2=new int[]{android.R.attr.paddingTop,android.R.attr.paddingBottom};
  TypedArray ta1=context.obtainStyledAttributes(attrs,attrsArray2);
  if (ta1 == null)   return;
  mPaddingTop=ta1.getDimensionPixelSize(0,0);
  mPaddingBottom=ta1.getDimensionPixelSize(1,0);
  ta1.recycle();
}