From 8572c9876d8cfbddc2546a964d529ef8681b3ddf Mon Sep 17 00:00:00 2001 From: ptmaster <52694802+lty2008one@users.noreply.github.com> Date: Thu, 28 Mar 2024 16:24:12 +0800 Subject: [PATCH] Update qr.cpp --- src/patches/qr.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/patches/qr.cpp b/src/patches/qr.cpp index c9d61d2..91ac25c 100644 --- a/src/patches/qr.cpp +++ b/src/patches/qr.cpp @@ -22,7 +22,7 @@ extern std::vector plugins; typedef void event (); typedef bool CheckQrEvent(); -typedef int GetQrEvent(unsigned char *buf_); +typedef int GetQrEvent(int, unsigned char*); namespace patches::Qr { @@ -163,15 +163,15 @@ HOOK_DYNAMIC (i64, __fastcall, copy_data, i64, void *dest, int length) { } else if (gMode == Mode::Plugin) { FARPROC getQrEvent = GetProcAddress (gPlugin, "getQr"); if (getQrEvent) { - unsigned char plugin_data[10086] ; - int buf_len = ((GetQrEvent*) getQrEvent) (plugin_data); - memcpy (dest, plugin_data, buf_len); + unsigned char plugin_data[length]; + int buf_len = ((GetQrEvent*) getQrEvent) (length, plugin_data); + if (buf_len > 0) { + memcpy (dest, plugin_data, buf_len); + } gState = State::Ready; - gMode = Mode::Card; return buf_len; } else { gState = State::Ready; - gMode = Mode::Card; return 0; } }