mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
4a4e3b7448
This also adds static checks that buffer overflows do not sneak in again in the future. Interestingly, this also makes (at least) GCC generate more efficient code. For example, before, writing to the buffer in WriteV5AuthRequest would look like this: mov 0x38(%rbx),%eax mov 0x28(%rbx),%rcx movb $0x5,(%rcx,%rax,1) mov 0x38(%rbx),%eax inc %eax mov %eax,0x38(%rbx) mov 0x28(%rbx),%rcx movb $0x1,(%rcx,%rax,1) mov 0x38(%rbx),%eax inc %eax mov %eax,0x38(%rbx) mov 0x28(%rbx),%rcx movb $0x0,(%rcx,%rax,1) incl 0x38(%rbx) Now it looks like this: mov 0x28(%rbx),%rax movb $0x5,(%rax) movb $0x1,0x1(%rax) movb $0x0,0x2(%rax) movl $0x3,0x38(%rbx) |
||
---|---|---|
.. | ||
moz.build | ||
nsISocketProvider.idl | ||
nsISocketProviderService.idl | ||
nsISOCKSSocketInfo.idl | ||
nsISSLSocketControl.idl | ||
nsITransportSecurityInfo.idl | ||
nsSocketProviderService.cpp | ||
nsSocketProviderService.h | ||
nsSOCKS4SocketProvider.h | ||
nsSOCKSIOLayer.cpp | ||
nsSOCKSIOLayer.h | ||
nsSOCKSSocketProvider.cpp | ||
nsSOCKSSocketProvider.h | ||
nsUDPSocketProvider.cpp | ||
nsUDPSocketProvider.h |