[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