From d9e2b4c650936420f818a1bd1c1289c17e3376a9 Mon Sep 17 00:00:00 2001 From: Alexander Smorkalov Date: Thu, 26 Jun 2025 17:19:10 +0300 Subject: [PATCH] Fixed out-of-bound access issue in QR Encoder Java warappers. --- modules/objdetect/misc/java/gen_dict.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/objdetect/misc/java/gen_dict.json b/modules/objdetect/misc/java/gen_dict.json index 2f453a6a91..376c7ad920 100644 --- a/modules/objdetect/misc/java/gen_dict.json +++ b/modules/objdetect/misc/java/gen_dict.json @@ -34,8 +34,9 @@ " LOGD(\"%s\", method_name);", " Ptr* me = (Ptr*) self; //TODO: check for NULL", " const char* n_encoded_info = reinterpret_cast(env->GetByteArrayElements(encoded_info, NULL));", + " const jsize n_encoded_info_size = env->GetArrayLength(encoded_info);", " Mat& qrcode = *((Mat*)qrcode_nativeObj);", - " (*me)->encode( n_encoded_info, qrcode );", + " (*me)->encode( std::string(n_encoded_info, n_encoded_info_size), qrcode );", " } catch(const std::exception &e) {", " throwJavaException(env, &e, method_name);", " } catch (...) {",