size_t bc;\r
if (!BERLengthDecode(bt, bc))\r
BERDecodeError();\r
+ if (bc > bt.MaxRetrievable())\r
+ BERDecodeError();\r
\r
str.New(bc);\r
if (bc != bt.Get(str, bc))\r
size_t bc;\r
if (!BERLengthDecode(bt, bc))\r
BERDecodeError();\r
+ if (bc > bt.MaxRetrievable())\r
+ BERDecodeError();\r
\r
bt.TransferTo(str, bc);\r
return bc;\r
size_t bc;\r
if (!BERLengthDecode(bt, bc))\r
BERDecodeError();\r
+ if (bc > bt.MaxRetrievable())\r
+ BERDecodeError();\r
\r
SecByteBlock temp(bc);\r
if (bc != bt.Get(temp, bc))\r
size_t bc;\r
if (!BERLengthDecode(bt, bc))\r
BERDecodeError();\r
+ if (bc == 0)\r
+ BERDecodeError();\r
+ if (bc > bt.MaxRetrievable())\r
+ BERDecodeError();\r
\r
byte unused;\r
if (!bt.Get(unused))\r
bool definite = BERLengthDecode(in, bc);\r
if (!definite)\r
BERDecodeError();\r
+ if (bc > in.MaxRetrievable())\r
+ BERDecodeError();\r
\r
SecByteBlock buf(bc);\r
\r