WS_getpeername buffer length fix
Paul Rupe
prupe at nc.rr.invalid
Tue Jan 8 19:35:37 CST 2002
While running the Win32 version of perl under Wine (don't ask), I
noticed that WS_getpeername wasn't returning the length of the output if
the buffer was larger than needed. The app was calling getpeername with
a 256-byte buffer and expecting *namelen to be 16 afterward. The most
logical place to fix this was in ws_sockaddr_u2ws. Other APIs call this
function, but I think they would also expect the same behavior so it
should be ok.
The one-line addition below takes care of the problem.
Changelog:
dlls/winsock/socket.c
Paul Rupe <prupe at nc.rr.com>
Return length of WS_sockaddr structure in ws_sockaddr_u2ws.
--
Paul Rupe "She smiled, in the end."
p r u p e @ n c . r r . c o m
begin 644 sockaddr.dff
M26YD97 at Z(&1L;',O=VEN<V]C:R]S;V-K970N8PH]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]"E)#4R!F:6QE.B`O:&]M92]W:6YE+W=I;F4O9&QL<R]W:6YS;V-K
M+W-O8VME="YC+'8*<F5T<FEE=FEN9R!R979I<VEO;B`Q+C<R"F1I9F8 at +74@
M+7(Q+C<R('-O8VME="YC"BTM+2!D;&QS+W=I;G-O8VLO<V]C:V5T+F,),C`P
M,2\Q,B\R-"`R,#HS,#HR- at DQ+C<R"BLK*R!D;&QS+W=I;G-O8VLO<V]C:V5T
M+F,),C`P,B\P,2\P."`R,SHR.#HP,`I`0"`M.#DV+#8@*S at Y-BPW($!`"B`*
M("`@("!D969A=6QT. at H@("`@("`@("`O*B!.;R!C;VYV97)S:6]N(&YE961E
M9"`J+PHK("`@("`@("`J=W-A9&1R;&5N(#T@;6EN*"IW<V%D9')L96XL=6%D
M9')L96XI.PH@("`@("`@("!M96UC<'DH=W-A9&1R+'5A9&1R+"IW<V%D9')L
M96XI.PH@("`@("`@("!R97,]*"IW<V%D9')L96X\=6%D9')L96X_+3$Z,"D[
("B`@("`@?0JT
`
end
More information about the wine-patches
mailing list