You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SQLite expects org/sqlite/Collation to have a xCompare(String, String) method. This allows to use Java methods to define collations, like this:
Class. forName("org. sqlite. JDBC");
Connectionconn = DriverManager. getConnection("jdbc:sqlite:");
Collation. create(conn, "REVERSE", newCollation() {
protectedintxCompare(Stringstr1, Stringstr2) {
returnstr1.compareTo(str2) * -1;
}
});
conn. createStatement().execute("select c1 from t order by c1 collate REVERSE;");
The existence of this method is checked during loading the sqlite native library. Fontus rewrites this method to be taint-aware, causing the error above.
Slightly curious how we did not hit that before..
The text was updated successfully, but these errors were encountered:
As we don't have any possibility to detect this at instrumentation time, we have to implement a workaround. Solution would be to special case sqlite in the Instrumenter to add proxies that call the implemented xCompare methods.
SQLite expects org/sqlite/Collation to have a
xCompare(String, String)
method. This allows to use Java methods to define collations, like this:The existence of this method is checked during loading the sqlite native library. Fontus rewrites this method to be taint-aware, causing the error above.
Slightly curious how we did not hit that before..
The text was updated successfully, but these errors were encountered: