From fd46fd1524563901f1d1c757896ced7842280082 Mon Sep 17 00:00:00 2001 From: SessionHero01 Date: Thu, 26 Feb 2026 16:00:54 +1100 Subject: [PATCH] Fixes a crash where getProProof is called on a wrong object --- library/src/main/cpp/conversation.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/library/src/main/cpp/conversation.cpp b/library/src/main/cpp/conversation.cpp index 7f7e4ff..95ab45e 100644 --- a/library/src/main/cpp/conversation.cpp +++ b/library/src/main/cpp/conversation.cpp @@ -53,13 +53,13 @@ JavaLocalRef serialize_one_to_one(JNIEnv *env, const session::config::c struct WithProProofInfoClassInfo : public JavaClassInfo { jmethodID proProofInfo_getter; - WithProProofInfoClassInfo(JNIEnv *env, jobject obj) - : JavaClassInfo(env, obj) + WithProProofInfoClassInfo(JNIEnv *env) + : JavaClassInfo(env, "network/loki/messenger/libsession_util/util/WithProProofInfo") , proProofInfo_getter(env->GetMethodID(java_class, "getProProofInfo", "()Lnetwork/loki/messenger/libsession_util/util/Conversation$ProProofInfo;")) {} - static const WithProProofInfoClassInfo& get(JNIEnv *env, jobject obj) { - static WithProProofInfoClassInfo instance(env, obj); + static const WithProProofInfoClassInfo& get(JNIEnv *env) { + static WithProProofInfoClassInfo instance(env); return instance; } }; @@ -133,7 +133,7 @@ session::config::convo::one_to_one deserialize_one_to_one(JNIEnv *env, jobject i r.unread = env->CallBooleanMethod(info, class_info.unread_getter); JavaLocalRef pro_proof(env, env->CallObjectMethod( - info, WithProProofInfoClassInfo::get(env, info).proProofInfo_getter)); + info, WithProProofInfoClassInfo::get(env).proProofInfo_getter)); ProProofInfoClassInfo::read_gen_index_hash(r.pro_gen_index_hash, env, pro_proof.get()); r.pro_expiry_unix_ts = ProProofInfoClassInfo::read_pro_expiry(env, pro_proof.get()); @@ -300,7 +300,7 @@ session::config::convo::blinded_one_to_one deserialize_blinded_one_to_one(JNIEnv r.unread = env->CallBooleanMethod(info, class_info.unread_getter); JavaLocalRef pro_proof(env, env->CallObjectMethod( - info, WithProProofInfoClassInfo::get(env, info).proProofInfo_getter)); + info, WithProProofInfoClassInfo::get(env).proProofInfo_getter)); ProProofInfoClassInfo::read_gen_index_hash(r.pro_gen_index_hash, env, pro_proof.get()); r.pro_expiry_unix_ts = ProProofInfoClassInfo::read_pro_expiry(env, pro_proof.get());