From 6998ae7c887fff5bd8b462bafbff4588a56e2ab6 Mon Sep 17 00:00:00 2001 From: 0x330a <92654767+0x330a@users.noreply.github.com> Date: Wed, 26 Jul 2023 14:42:30 +1000 Subject: [PATCH] fix: use the env->IsSameObject function correctly checking class types --- libsession-util/src/main/cpp/contacts.h | 3 +-- libsession-util/src/main/cpp/user_groups.cpp | 5 +++-- libsession-util/src/main/cpp/util.cpp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libsession-util/src/main/cpp/contacts.h b/libsession-util/src/main/cpp/contacts.h index c5496a68c..ecb2cb374 100644 --- a/libsession-util/src/main/cpp/contacts.h +++ b/libsession-util/src/main/cpp/contacts.h @@ -29,8 +29,7 @@ inline jobject serialize_contact(JNIEnv *env, session::config::contact_info info return returnObj; } -inline session::config::contact_info -deserialize_contact(JNIEnv *env, jobject info, session::config::Contacts *conf) { +inline session::config::contact_info deserialize_contact(JNIEnv *env, jobject info, session::config::Contacts *conf) { jclass contactClass = env->FindClass("network/loki/messenger/libsession_util/util/Contact"); jfieldID getId, getName, getNick, getApproved, getApprovedMe, getBlocked, getUserPic, getPriority, getExpiry, getHidden; diff --git a/libsession-util/src/main/cpp/user_groups.cpp b/libsession-util/src/main/cpp/user_groups.cpp index 4f2b0e6b8..9754b4089 100644 --- a/libsession-util/src/main/cpp/user_groups.cpp +++ b/libsession-util/src/main/cpp/user_groups.cpp @@ -144,10 +144,11 @@ Java_network_loki_messenger_libsession_1util_UserGroupsConfig_erase__Lnetwork_lo auto conf = ptrToUserGroups(env, thiz); auto communityInfo = env->FindClass("network/loki/messenger/libsession_util/util/GroupInfo$CommunityGroupInfo"); auto legacyInfo = env->FindClass("network/loki/messenger/libsession_util/util/GroupInfo$LegacyGroupInfo"); - if (env->GetObjectClass(group_info) == communityInfo) { + auto group_object = env->GetObjectClass(group_info); + if (env->IsSameObject(group_object, communityInfo)) { auto deserialized = deserialize_community_info(env, group_info, conf); conf->erase(deserialized); - } else if (env->GetObjectClass(group_info) == legacyInfo) { + } else if (env->IsSameObject(group_object, legacyInfo)) { auto deserialized = deserialize_legacy_group_info(env, group_info, conf); conf->erase(deserialized); } diff --git a/libsession-util/src/main/cpp/util.cpp b/libsession-util/src/main/cpp/util.cpp index 69469eac1..77a7e4aa7 100644 --- a/libsession-util/src/main/cpp/util.cpp +++ b/libsession-util/src/main/cpp/util.cpp @@ -96,9 +96,9 @@ namespace util { jclass object_class = env->GetObjectClass(expiry_mode); - if (object_class == after_read) { + if (env->IsSameObject(object_class, after_read)) { return std::pair(session::config::expiration_mode::after_read, env->GetLongField(expiry_mode, duration_seconds)); - } else if (object_class == after_send) { + } else if (env->IsSameObject(object_class, after_send)) { return std::pair(session::config::expiration_mode::after_send, env->GetLongField(expiry_mode, duration_seconds)); } return std::pair(session::config::expiration_mode::none, 0);