Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Infer# (Microsoft) scan has identified multiple issues. Mostly resource leak and threading related. #121

Open
IngawaAb-bh opened this issue Jun 22, 2023 · 0 comments

Comments

@IngawaAb-bh
Copy link

#0
/_/crypto/src/asn1/ASN1StreamParser.cs:168: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Asn1.DefiniteLengthInputStream() on line 162 is not closed after the last access at line 168, column 25.

#1
/_/crypto/src/asn1/Asn1InputStream.cs:90: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Asn1.DefiniteLengthInputStream() on line 84 is not closed after the last access at line 90, column 21.

#2
/_/crypto/src/asn1/Asn1InputStream.cs:92: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Asn1.DefiniteLengthInputStream() on line 84 is not closed after the last access at line 92, column 17.

#3
/_/crypto/src/asn1/Asn1Object.cs:11: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Asn1.Asn1OutputStream(), indirectly via call to Asn1OutputStream.Create(...) on line 11 is not closed after the last access at line 11, column 13.

#4
/_/crypto/src/asn1/Asn1Object.cs:16: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Asn1.Asn1OutputStream(), indirectly via call to Asn1OutputStream.Create(...) on line 16 is not closed after the last access at line 16, column 13.

#5
/_/crypto/src/asn1/Asn1Object.cs:16: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Asn1.DerOutputStreamNew(), indirectly via call to Asn1OutputStream.Create(...) on line 16 is not closed after the last access at line 16, column 13.

#6
/_/crypto/src/asn1/BerOutputStream.cs:18: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Asn1.Asn1OutputStream(), indirectly via call to Asn1OutputStream.Create(...) on line 18 is not closed after the last access at line 18, column 13.

#7
/_/crypto/src/asn1/BerOutputStream.cs:23: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Asn1.Asn1OutputStream(), indirectly via call to Asn1OutputStream.Create(...) on line 23 is not closed after the last access at line 23, column 13.

#8
/_/crypto/src/asn1/DerObjectIdentifier.cs:162: error: Null Dereference
token could be null (from the call to OidTokenizer.NextToken() on line 158) and is dereferenced.

#9
/_/crypto/src/bcpg/PublicKeyPacket.cs:97: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Bcpg.BcpgOutputStream() on line 98 is not closed after the last access at line 97, column 13.

#10
/_/crypto/src/crypto/operators/Asn1DigestFactory.cs:21: error: Null Dereference
oid could be null (from the call to DigestUtilities.GetObjectIdentifier(...) on line 20) and is dereferenced in the call to DigestUtilities.GetDigest(...).

#11
/_/crypto/src/crypto/operators/Asn1KeyWrapper.cs:35: error: Null Dereference
null (last assigned on line 35) is dereferenced in the call to Asn1KeyWrapper(...).

#12
/_/crypto/src/crypto/operators/Asn1KeyWrapper.cs:97: error: Null Dereference
null (last assigned on line 97) is dereferenced in the call to Asn1KeyUnwrapper(...).

#13
/_/crypto/src/crypto/tls/TlsDheKeyExchange.cs:78: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Utilities.IO.TeeInputStream() on line 75 is not closed after the last access at line 78, column 13.

#14
/_/crypto/src/math/ec/ECCurve.cs:1004: warning: Thread Safety Violation
Read/Write race. Non-private method AbstractF2mCurve.GetSi() reads without synchronization from this.Org.BouncyCastle.Math.EC.AbstractF2mCurve.si. Potentially races with write in method AbstractF2mCurve.GetSi().
Reporting because this access may occur on a background thread.

#15
/_/crypto/src/openpgp/PgpPublicKeyRingBundle.cs:39: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Bcpg.BcpgInputStream(), indirectly via call to PgpObjectFactory(...) on line 39 is not closed after the last access at line 39, column 6.

#16
/_/crypto/src/openpgp/PgpPublicKeyRingBundle.cs:215: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Bcpg.BcpgOutputStream(), indirectly via call to BcpgOutputStream.Wrap(...) on line 213 is not closed after the last access at line 215, column 22.

#17
/_/crypto/src/openpgp/PgpSecretKeyRingBundle.cs:39: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Bcpg.BcpgInputStream(), indirectly via call to PgpObjectFactory(...) on line 39 is not closed after the last access at line 39, column 6.

#18
/_/crypto/src/openpgp/PgpSecretKeyRingBundle.cs:217: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Bcpg.BcpgOutputStream(), indirectly via call to BcpgOutputStream.Wrap(...) on line 215 is not closed after the last access at line 217, column 22.

#19
/_/crypto/src/security/SecureRandom.cs:135: error: Null Dereference
this->Org.BouncyCastle.Security.SecureRandom.generator could be null (last assigned on line 133) and is dereferenced in the call to SecureRandom.SetSeed(...).

#20
/_/crypto/src/tls/AbstractTlsContext.cs:158: warning: Thread Safety Violation
Read/Write race. Non-private method AbstractTlsContext.get_ResumableSession() indirectly reads without synchronization from this.Org.BouncyCastle.Tls.AbstractTlsContext.m_session. Potentially races with write in method AbstractTlsContext.HandshakeComplete(...).
Reporting because another access to the same memory occurs on a background thread, although this access may not.

#21
/_/crypto/src/tls/AbstractTlsContext.cs:168: warning: Thread Safety Violation
Read/Write race. Non-private method AbstractTlsContext.get_Session() reads without synchronization from this.Org.BouncyCastle.Tls.AbstractTlsContext.m_session. Potentially races with write in method AbstractTlsContext.HandshakeComplete(...).
Reporting because another access to the same memory occurs on a background thread, although this access may not.

#22
/_/crypto/src/tls/DeferredHash.cs:232: error: Null Dereference
null (last assigned on line 232) is dereferenced.

#23
/_/crypto/src/tls/ProtocolVersion.cs:175: error: Null Dereference
current could be null (from the call to ProtocolVersion.GetPreviousVersion() on line 177) and is dereferenced.

#24
/_/crypto/src/tls/TlsUtilities.cs:4734: error: Null Dereference
version could be null (from the call to ProtocolVersion.GetEquivalentTlsVersion() on line 4732) and is dereferenced.

#25
/_/crypto/src/tls/crypto/impl/AbstractTlsSecret.cs:28: warning: Thread Safety Violation
Read/Write race. Non-private method AbstractTlsSecret.CheckAlive() reads without synchronization from this.Org.BouncyCastle.Tls.Crypto.Impl.AbstractTlsSecret.m_data. Potentially races with write in method AbstractTlsSecret.Extract().
Reporting because another access to the same memory occurs on a background thread, although this access may not.

#26
/_/crypto/src/x509/X509AttrCertParser.cs:137: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Utilities.IO.PushbackStream() on line 134 is not closed after the last access at line 137, column 5.

#27
/_/crypto/src/x509/X509CertPairParser.cs:68: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Utilities.IO.PushbackStream() on line 65 is not closed after the last access at line 68, column 5.

#28
/_/crypto/src/x509/X509CertificateParser.cs:147: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Utilities.IO.PushbackStream() on line 144 is not closed after the last access at line 147, column 5.

#29
/_/crypto/src/x509/X509CertificateParser.cs:154: error: Pulse Resource Leak
Resource dynamically allocated by constructor Org.BouncyCastle.Utilities.IO.PushbackStream() on line 144 is not closed after the last access at line 154, column 6.

Found 31 issues
Issue Type(ISSUED_TYPE_ID): #
Pulse Resource Leak(PULSE_RESOURCE_LEAK): 18
Null Dereference(NULLPTR_DEREFERENCE): 8
Thread Safety Violation(THREAD_SAFETY_VIOLATION): 4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant