wininet: HTTP_QUERY_RAW_HEADERS_CRLF length shouldn't include nul.
diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c index 2a78670..ba82a84 100644 --- a/dlls/wininet/http.c +++ b/dlls/wininet/http.c
@@ -2195,15 +2195,16 @@ else headers = lpwhr->lpszRawHeaders; - len = (strlenW(headers) + 1) * sizeof(WCHAR); - if (len > *lpdwBufferLength) + len = strlenW(headers) * sizeof(WCHAR); + if (len + sizeof(WCHAR) > *lpdwBufferLength) { + len += sizeof(WCHAR); INTERNET_SetLastError(ERROR_INSUFFICIENT_BUFFER); ret = FALSE; } else if (lpBuffer) { - memcpy(lpBuffer, headers, len); + memcpy(lpBuffer, headers, len + sizeof(WCHAR)); TRACE("returning data: %s\n", debugstr_wn(lpBuffer, len / sizeof(WCHAR))); ret = TRUE; }