Zebediah Figura (@zfigura) commented about dlls/ws2_32/socket.c:
> }
> break;
>
> + case AF_UNIX:
> + if (len < sizeof(struct sockaddr_un))
> + {
> + SetLastError( WSAEFAULT );
> + return -1;
> + }
> + break;
Can the length be less than the whole size of sun_path? As always we should test for this.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2786#note_35918
Zebediah Figura (@zfigura) commented about dlls/ntdll/unix/socket.c:
> break;
> }
>
> + if (unix_addr.addr.sa_family == AF_UNIX)
> + {
> + status = STATUS_NOT_SUPPORTED;
We should print a FIXME here as well.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2786#note_35916
Zebediah Figura (@zfigura) commented about dlls/ntdll/unix/socket.c:
> return sizeof(uaddr->in6);
> }
>
> + case WS_AF_UNIX:
> + {
> + struct WS_sockaddr_un win = {0};
> +
> + if (wsaddrlen < sizeof(win)) return 0;
> + memcpy( &win, wsaddr, sizeof(win) );
> + uaddr->un.sun_family = AF_UNIX;
> + memcpy( uaddr->un.sun_path, win.sun_path, sizeof(win.sun_path) );
> + return sizeof(uaddr->un);
This can't work, though; we need to convert it to Unix first. (Or print a FIXME and fail for DGRAM sockets.)
Linux man-pages call out returning sizeof(sockaddr_un) as okay on Linux, but is it portable? We may want to return strlen()+1 just to be safe.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2786#note_35915
Some of these fixes are subtle (like the first patch) and very annoying to debug. Although the first patch looks like a hack, surprisingly, it's how the spec itself says it is! It's not even an IE quirk, but a special case in the spec.
For example, the variable name (which holds the builtin eval func) **does** matter: if it's called something other than 'eval', it gets treated differently (as if indirect), and this is verified by the tests + the spec's wording (so Microsoft's implementation follows it).
Most of the patches other than the first 2 are pretty small so they're in same MR.
--
v5: jscript: Store ref to the function code instead of the function instance
jscript: Start from the last argument when adding them to named locals.
jscript: Store detached locals into a scope's specialized buffer.
jscript: Detach the frame's scope before inserting eval() variables into it.
jscript: Use the scope's dispex as the default variable obj.
jscript: Don't use iface_to_jsdisp where it's not necessary to grab it.
jscript: Get rid of jsobj in scope_chain_t.
jscript: Fix function leak in scope_init_locals.
jscript: Fix addressing invalid memory if ref is an argument.
jscript: Correctly implement context for indirect eval calls in ES5+ modes.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2942
--
v2: winegstreamer: Pass the stream descriptor to media_stream_create.
winegstreamer: Introduce new init_audio_media_types helper.
winegstreamer: Introduce new init_video_media_types helper.
winegstreamer: Factor the creation of the first stream media type.
winegstreamer: Pass a struct wg_parser_stream to media_stream_create.
winegstreamer: Introduce new stream_descriptor_set_tag helper.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2949
This series adds a couple of features to WinRT's media.speech:
- IVoiceInformation, and synthetizer's options are present
(mainly use to store information, not yet to make fully use of it)
- add a dummy implementation (1 single voice); that should be extended
in future series by using ISpVoice instead
- add a couple of more tests to go with implementation
(the serie should prevent MS Flight simulator to crash on first
connection. Crash is due to exception handling of C# generated
exceptions from E_NOTIMPL with some X11 related critical resources).
A+
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3048
--
v7: vkd3d-shader/tpf: Add support for writing 'resinfo' instruction.
vkd3d-shader/tpf: Add support for writing 'sampleinfo' instruction.
vkd3d-shader/hlsl: Parse GetDimensions() method.
tests: Add some tests for GetDimensions().
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/218