http://bugs.winehq.org/show_bug.cgi?id=34908
treeki@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |treeki@gmail.com
--- Comment #3 from treeki@gmail.com 2013-11-14 17:06:34 CST --- Hi,
I can confirm this regression in some software I work on. I cannot provide a download link as it's unreleased proprietary software, but I've done some exhaustive debugging and I'm extremely confident that this is the cause. Our HTTP code works perfectly when WINE commit 92426b5136355200bfbc9561fcd9601ac130c66a is reverted, but fails almost instantly when that commit is applied.
In my case, WinHttpQueryDataAvailable is reporting that more data is available than there really is. When I try to call WinHttpReadData, passing this amount, it appears to succeed but the extra data copied into the buffer is actually garbage -- whatever is located after read_buf inside request_t -- and after a couple of reads, QueryDataAvailable sends a callback saying there's 0 bytes available.
There doesn't seem to be any reliable way to detect or work around this bug.