[CONJ-4] mariadb jdbc client 1.0.0 throws ArrayIndexOutOfBoundsException when passing empty connection url parameter values Created: 2012-12-05  Updated: 2013-01-10  Resolved: 2013-01-10

Status: Closed
Project: MariaDB Connector/J
Component/s: None
Affects Version/s: None
Fix Version/s: 1.1.0

Type: Bug Priority: Minor
Reporter: Bjorn Melinder (Inactive) Assignee: Vladislav Vaintroub
Resolution: Fixed Votes: 0
Labels: None
Environment:

Mac OS X 10.7.5, java 1.6.0_37, using mariadb-client-1.0.0 (with MySQL 5.1.66)



 Description   

The following code fails:

DriverManager.getConnection("jdbc:mysql//localhost:3306/test?user=root&password=");

throws:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at org.mariadb.jdbc.Driver.setURLParameters(Driver.java:128)
at org.mariadb.jdbc.Driver.connect(Driver.java:103)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)

Here is a proposed patch for Driver.setURLParameters:

private void setURLParameters(String urlParameters, Properties info) {
String [] parameters = urlParameters.split("&");
for(String param : parameters) {
int pos = param.indexOf('=');
if (pos == -1)

{ throw new IllegalArgumentException("Expected key=value: " + param); }

info.setProperty(param.substring(0, pos), param.substring(pos + 1));
}
}



 Comments   
Comment by Vladislav Vaintroub [ 2012-12-05 ]

Thanks for the patch!

Generated at Thu Feb 08 03:12:27 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.