AWS Secrets Manager Connection String Provider with invalid base64 encoded tnsnames.ora doesn't throw proper exception
It throws exception like
java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1269 at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3319) at java.base/java.lang.String.substring(String.java:1874) at oracle.jdbc.provider.util.TNSNames.read(TNSNames.java:150) at oracle.jdbc.provider.aws.resource.SecretsManagerConnectionStringProvider.getConnectionString(SecretsManagerConnectionStringProvider.java:108) at oracle.provider.aws.resource.SecretsManagerConnectionStringProviderTest.testValidAlias(SecretsManagerConnectionStringProviderTest.java:106)
To Reproduce
- Create a entry in Secret Manager with incomplete base64 encoded tnsnames.ora
- We can reuse existing test to reproduce this issue https://github.com/oracle/ojdbc-extensions/blob/main/ojdbc-provider-aws/src/test/java/oracle/provider/aws/resource/SecretsManagerConnectionStringProviderTest.java
AWS Secrets Manager Connection String Provider with invalid base64 encoded tnsnames.ora doesn't throw proper exception
It throws exception like
java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1269 at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3319) at java.base/java.lang.String.substring(String.java:1874) at oracle.jdbc.provider.util.TNSNames.read(TNSNames.java:150) at oracle.jdbc.provider.aws.resource.SecretsManagerConnectionStringProvider.getConnectionString(SecretsManagerConnectionStringProvider.java:108) at oracle.provider.aws.resource.SecretsManagerConnectionStringProviderTest.testValidAlias(SecretsManagerConnectionStringProviderTest.java:106)To Reproduce