[Bug 42225] MSRX v2015a (magnetic stripe reader app) crashed on plugplay: hidraw_set_feature_report Output feature buffer too small
wine-bugs at winehq.org
wine-bugs at winehq.org
Tue Jan 24 09:24:58 CST 2017
https://bugs.winehq.org/show_bug.cgi?id=42225
--- Comment #18 from Aric Stewart <aric at codeweavers.com> ---
(In reply to Samuele from comment #16)
> (In reply to Aric Stewart from comment #15)
> > Any chance to look deeper into this?
> >
> > -aric
>
> Yeah I would love to be able to use this software, I'm willing to test sorry
> if I didn't reply sooner. I'm not sure I understood correctly what you were
> asking but I did this to print first and second byte of the buffer before
> and after the code that strips the leading zero and adds it back. Data seems
> to match:
>
> trace:hid_report:HID_set_to_device [FIRST] Leading 0,nextchar: 0,194
> trace:hid_report:hidraw_set_feature_report [SECOND] Leading 0,nextchar: 0,194
>
Is this meaning there are 2 leading 0s on the feature report (0,0,194) or is
it just (0, 194) and that 0 is being removed and re-added?
> Then in process_hid_report I've added code to print the report buffer and I
> get different reports depending on which card I swipe. It's hard to see if
> the data is correct because it uses magstripe encoding and I need to convert
> the bytes to binary data and check it manually.
Actually I was more thinking of just dumping the raw data and looking to see if
thing changed. Something like this for the reports
diff --git a/dlls/winebus.sys/main.c b/dlls/winebus.sys/main.c
index 1902d516c6..23ab790682 100644
--- a/dlls/winebus.sys/main.c
+++ b/dlls/winebus.sys/main.c
@@ -640,6 +640,14 @@ void process_hid_report(DEVICE_OBJECT *device, BYTE
*report, DWORD length)
if (!length || !report)
return;
+{
+ int ii;
+ ERR("Report Data: ");
+ for (ii = 0; ii < length; ii++)
+ ERR("%x ", report[ii]);
+ ERR("\n");
+}
+
EnterCriticalSection(&ext->report_cs);
if (length > ext->buffer_size)
{
thanks
-aric
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list