public int GetMaxDecodedLength(int encodedLength) { if ((uint)encodedLength >= int.MaxValue) { goto InvalidData; } int numPaddingChars = GetNumBase64PaddingCharsToAddForDecode(encodedLength); if (numPaddingChars == 3) { goto InvalidData; } int base64Len = encodedLength + numPaddingChars; if (base64Len < 0) // overflow { goto InvalidData; } Debug.Assert(base64Len % 4 == 0, "Invariant: Array length must be a multiple of 4."); return(((base64Len >> 2) * 3) - numPaddingChars); InvalidData: ThrowHelper.ThrowFormatException_MalformdedInput(encodedLength); return(0); }