mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2025-11-19 18:01:33 +03:00
Cedar/Proto.c: fix wrong NULL check in ProtoHandleDatagrams(), found by Coverity
*** CID 358434: Null pointer dereferences (REVERSE_INULL)
/src/Cedar/Proto.c: 451 in ProtoHandleDatagrams()
445 void ProtoHandleDatagrams(UDPLISTENER *listener, LIST *datagrams)
446 {
447 UINT i;
448 HASH_LIST *sessions;
449 PROTO *proto = listener->Param;
450
>>> CID 358434: Null pointer dereferences (REVERSE_INULL)
>>> Null-checking "listener" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
451 if (proto == NULL || listener == NULL || datagrams == NULL)
452 {
453 return;
454 }
455
456 sessions = proto->Sessions;
This commit is contained in:
@ -445,14 +445,15 @@ bool ProtoHandleConnection(PROTO *proto, SOCK *sock)
|
|||||||
void ProtoHandleDatagrams(UDPLISTENER *listener, LIST *datagrams)
|
void ProtoHandleDatagrams(UDPLISTENER *listener, LIST *datagrams)
|
||||||
{
|
{
|
||||||
UINT i;
|
UINT i;
|
||||||
|
PROTO *proto;
|
||||||
HASH_LIST *sessions;
|
HASH_LIST *sessions;
|
||||||
PROTO *proto = listener->Param;
|
|
||||||
|
|
||||||
if (proto == NULL || listener == NULL || datagrams == NULL)
|
if (listener == NULL || datagrams == NULL)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proto = listener->Param;
|
||||||
sessions = proto->Sessions;
|
sessions = proto->Sessions;
|
||||||
|
|
||||||
for (i = 0; i < LIST_NUM(datagrams); ++i)
|
for (i = 0; i < LIST_NUM(datagrams); ++i)
|
||||||
|
|||||||
Reference in New Issue
Block a user