mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2025-07-06 07:44:57 +03:00
7 missing memory boundaries checks and similar memory problems. There are no risk of arbitrary code execution or intrusion on these bugs in my analysis. However, these problems may lead to crash the running server process. So these bugs must be fixed.
Buffer overread in ParseL2TPPacket() Memory corruption in IcmpParseResult Missing bounds check in ParseUDP() can lead to invalid memory access Out-of-bounds read in IPsec_PPP.c (unterminated string buffer) Overlapping parameters to memcpy() via StrToIp6() PACK ReadValue() crash vulnerability Potential use of uninitialized memory via IPToInAddr6() 4 memory leaks. While the amount of leakage is very small per time, these bugs can finally cause process crash by out of memory. So these bugs must be fixed. Memory leak in NnReadDnsRecord Memory leak in RadiusLogin() Memory leak via ParsePacketIPv4WithDummyMacHeader Remote memory leak in OpenVPN server code 1 coding improvement. This is not a bug, however, I fixed the code to avoid furture misunderstanding. RecvAll can return success on failure (leading to use of uninitialized memory) Contributors for this bugfix: - Max Planck Institute for Molecular Genetics - Guido Vranken
This commit is contained in:
@ -4313,6 +4313,21 @@ void Copy(void *dst, void *src, UINT size)
|
||||
memcpy(dst, src, size);
|
||||
}
|
||||
|
||||
// Memory move
|
||||
void Move(void *dst, void *src, UINT size)
|
||||
{
|
||||
// Validate arguments
|
||||
if (dst == NULL || src == NULL || size == 0 || dst == src)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// KS
|
||||
KS_INC(KS_COPY_COUNT);
|
||||
|
||||
memmove(dst, src, size);
|
||||
}
|
||||
|
||||
// Memory comparison
|
||||
int Cmp(void *p1, void *p2, UINT size)
|
||||
{
|
||||
|
Reference in New Issue
Block a user