On Sat Jun 3 22:54:20 2023 +0000, Ally Sommers wrote:
The sockaddr passed to the server is indeed variably-sized, but the size for it is set in ws2_32, not ntdll. I am sure that it could be done in ntdll, but as every other function that calls through to `sock_ioctl` sets the vararg size itself, I feel that it is best handled in ws2_32.
Well, sure, ws2_32 sets the size everywhere else, because there aren't any other instances where ntdll needs to manhandle the arguments.
That said, it probably does make the most sense to do the path conversion from ws2, since converting an ioctl does strike me as awkward, and I don't think there's a good reason to avoid it at this rate.