From: stephan Date: Thu, 28 Sep 2023 20:34:28 +0000 (+0000) Subject: JNI: correct a NullPointerException triggered via SQLTester. X-Git-Tag: version-3.44.0~171^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=83f62816f8d68a79d4889c406d05ddf8fa490765;p=thirdparty%2Fsqlite.git JNI: correct a NullPointerException triggered via SQLTester. FossilOrigin-Name: 0a873de76c0cbcd8e2eda3f0508e427f1dcb32b01798687c0545acfe10102179 --- diff --git a/ext/jni/src/org/sqlite/jni/SQLite3Jni.java b/ext/jni/src/org/sqlite/jni/SQLite3Jni.java index 807a79d704..bebee05df1 100644 --- a/ext/jni/src/org/sqlite/jni/SQLite3Jni.java +++ b/ext/jni/src/org/sqlite/jni/SQLite3Jni.java @@ -574,8 +574,11 @@ public final class SQLite3Jni { @Canonical public static int sqlite3_close(@Nullable sqlite3 db){ - final int rc = sqlite3_close(db.getNativePointer()); - if( 0==rc ) db.clearNativePointer(); + int rc = 0; + if( null!=db ){ + rc = sqlite3_close(db.getNativePointer()); + if( 0==rc ) db.clearNativePointer(); + } return rc; } @@ -584,7 +587,7 @@ public final class SQLite3Jni { @Canonical public static int sqlite3_close_v2(@Nullable sqlite3 db){ - return sqlite3_close_v2(db.clearNativePointer()); + return db==null ? 0 : sqlite3_close_v2(db.clearNativePointer()); } @Canonical diff --git a/manifest b/manifest index dc7e99b904..68215ea779 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Adapted\sthe\sJNI\sbindings\sfor\sthe\ssqlite3_value_...()\sand\s(pre)update\shook\sAPIs\sto\sthe\snew\spointer-passing\smechanism. -D 2023-09-28T11:19:37.102 +C JNI:\scorrect\sa\sNullPointerException\striggered\svia\sSQLTester. +D 2023-09-28T20:34:28.893 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -259,7 +259,7 @@ F ext/jni/src/org/sqlite/jni/ProgressHandlerCallback.java 7b9ff2218129ece98ba60c F ext/jni/src/org/sqlite/jni/ResultCode.java ba701f20213a5f259e94cfbfdd36eb7ac7ce7797f2c6c7fca2004ff12ce20f86 F ext/jni/src/org/sqlite/jni/RollbackHookCallback.java d12352c0e22840de484ffa9b11ed5058bb0daca2e9f218055d3c54c947a273c4 F ext/jni/src/org/sqlite/jni/SQLFunction.java 544a875d33fd160467d82e2397ac33157b29971d715a821a4fad3c899113ee8c -F ext/jni/src/org/sqlite/jni/SQLite3Jni.java 8dc0c48378eaf04bfc868bd8069dd5e55365b5d50d2e14b6e075c2afee1a5844 +F ext/jni/src/org/sqlite/jni/SQLite3Jni.java bb7436bcac55480ae5c5ba62fb92861ea0e948c03bc1475ef202aa26a819ed61 F ext/jni/src/org/sqlite/jni/ScalarFunction.java 6d387bb499fbe3bc13c53315335233dbf6a0c711e8fa7c521683219b041c614c F ext/jni/src/org/sqlite/jni/TableColumnMetadata.java 54511b4297fa28dcb3f49b24035e34ced10e3fd44fd0e458e784f4d6b0096dab F ext/jni/src/org/sqlite/jni/Tester1.java 720e1efddd769d5785e95100ff48aa203f2288eea865326a1a81fd5af43ec3a5 @@ -2122,8 +2122,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 250fd6ae806cf705c0f29ad30ad8fb885b12590848e7adae63bc21d874c6d3bd -R b6214243c5615bb53c027385b902ff1b +P 4182f0275d5d65e04a130eeef4d44642a5ffeeb4b84430d240ea2605345f1404 +R a2d8547ef3a0aabe5f166da28f6b427d U stephan -Z 6486a7f1446bd02f9d2f2235b0984708 +Z 0bc34c11fb15e6b9fa15ab1d2bacfac5 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index a0760fca51..fc9cc8cadb 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -4182f0275d5d65e04a130eeef4d44642a5ffeeb4b84430d240ea2605345f1404 \ No newline at end of file +0a873de76c0cbcd8e2eda3f0508e427f1dcb32b01798687c0545acfe10102179 \ No newline at end of file