diff options
Diffstat (limited to 'crypto/src/asn1')
-rw-r--r-- | crypto/src/asn1/BEROctetStringGenerator.cs | 18 | ||||
-rw-r--r-- | crypto/src/asn1/util/FilterStream.cs | 11 |
2 files changed, 28 insertions, 1 deletions
diff --git a/crypto/src/asn1/BEROctetStringGenerator.cs b/crypto/src/asn1/BEROctetStringGenerator.cs index 7468a6b0b..b2fbd47ae 100644 --- a/crypto/src/asn1/BEROctetStringGenerator.cs +++ b/crypto/src/asn1/BEROctetStringGenerator.cs @@ -102,7 +102,22 @@ namespace Org.BouncyCastle.Asn1 } } - public override void Close() +#if PORTABLE + protected override void Disposing(bool disposing) + { + if (disposing) + { + if (_off != 0) + { + DerOctetString.Encode(_derOut, _buf, 0, _off); + } + + _gen.WriteBerEnd(); + } + base.Dispose(disposing); + } +#else + public override void Close() { if (_off != 0) { @@ -112,6 +127,7 @@ namespace Org.BouncyCastle.Asn1 _gen.WriteBerEnd(); base.Close(); } +#endif } } } diff --git a/crypto/src/asn1/util/FilterStream.cs b/crypto/src/asn1/util/FilterStream.cs index e280bf5b5..f7e8708f3 100644 --- a/crypto/src/asn1/util/FilterStream.cs +++ b/crypto/src/asn1/util/FilterStream.cs @@ -34,10 +34,21 @@ namespace Org.BouncyCastle.Asn1.Utilities get { return s.Position; } set { s.Position = value; } } +#if PORTABLE + protected override void Disposing(bool disposing) + { + if (disposing) + { + Platform.Dispose(s); + } + base.Dispose(disposing); + } +#else public override void Close() { Platform.Dispose(s); } +#endif public override void Flush() { s.Flush(); |