1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2024-12-27 10:39:53 +03:00

src/Cedar/BridgeUnix: null pointer dereference resolved, unused variables, functions removed

found by coverity, cppcheck

[src/Cedar/BridgeUnix.c:270] -> [src/Cedar/BridgeUnix.c:279]: (style) Variable 'ret' is reassigned a value before the old one has been used.
[src/Cedar/BridgeUnix.c:560] -> [src/Cedar/BridgeUnix.c:569]: (style) Variable 't' is reassigned a value before the old one has been used.
[src/Cedar/BridgeUnix.c:1528] -> [src/Cedar/BridgeUnix.c:1537]: (style) Variable 'ret' is reassigned a value before the old one has been used.
[src/Cedar/BridgeUnix.c:1278]: (style) Unused variable: c
[src/Cedar/BridgeUnix.c:1090]: (style) The function 'DlipAttachRequest' is never used.
This commit is contained in:
Ilya Shipitsin 2018-08-18 18:59:51 +05:00
parent c4d1a10c2a
commit 29c991c487
2 changed files with 22 additions and 54 deletions

View File

@ -267,18 +267,19 @@ int UnixEthOpenRawSocket()
// Is Ethernet device control supported?
bool IsEthSupported()
{
bool ret = false;
#if defined(UNIX_LINUX)
ret = IsEthSupportedLinux();
#if defined(UNIX_LINUX)
return IsEthSupportedLinux();
#elif defined(UNIX_SOLARIS)
ret = IsEthSupportedSolaris();
return IsEthSupportedSolaris();
#elif defined(BRIDGE_PCAP)
ret = true;
return true;
#elif defined(BRIDGE_BPF)
ret = true;
return true;
#else
return false;
#endif
return ret;
}
#ifdef UNIX_LINUX
@ -557,19 +558,19 @@ TOKEN_LIST *GetEthList()
}
TOKEN_LIST *GetEthListEx(UINT *total_num_including_hidden, bool enum_normal, bool enum_rawip)
{
TOKEN_LIST *t = NULL;
#if defined(UNIX_LINUX)
t = GetEthListLinux(enum_normal, enum_rawip);
return GetEthListLinux(enum_normal, enum_rawip);
#elif defined(UNIX_SOLARIS)
t = GetEthListSolaris();
return GetEthListSolaris();
#elif defined(BRIDGE_PCAP)
t = GetEthListPcap();
return GetEthListPcap();
#elif defined(BRIDGE_BPF)
t = GetEthListBpf();
return GetEthListBpf();
#else
return NULL;
#endif
return t;
}
#ifdef UNIX_LINUX
@ -1086,37 +1087,6 @@ bool DlipBindRequest(int fd)
return true;
}
// Attach to the device
bool DlipAttachRequest(int fd, UINT devid)
{
dl_attach_req_t req;
struct strbuf ctl;
int flags;
// Validate arguments
if (fd == -1)
{
return false;
}
Zero(&req, sizeof(req));
req.dl_primitive = DL_ATTACH_REQ;
req.dl_ppa = devid;
Zero(&ctl, sizeof(ctl));
ctl.maxlen = 0;
ctl.len = sizeof(req);
ctl.buf = (char *)&req;
flags = 0;
if (putmsg(fd, &ctl, NULL, flags) < 0)
{
return false;
}
return true;
}
// Verify the ACK message
bool DlipReceiveAck(int fd)
{
@ -1275,7 +1245,6 @@ ETH *OpenEthPcap(char *name, bool local, bool tapmode, char *tapaddr)
char errbuf[PCAP_ERRBUF_SIZE];
ETH *e;
pcap_t *p;
CANCEL *c;
// Validate arguments
if (name == NULL || tapmode != false)
@ -1525,19 +1494,19 @@ ETH *OpenEthBpf(char *name, bool local, bool tapmode, char *tapaddr)
// Open Ethernet adapter
ETH *OpenEth(char *name, bool local, bool tapmode, char *tapaddr)
{
ETH *ret = NULL;
#if defined(UNIX_LINUX)
ret = OpenEthLinux(name, local, tapmode, tapaddr);
#if defined(UNIX_LINUX)
return OpenEthLinux(name, local, tapmode, tapaddr);
#elif defined(UNIX_SOLARIS)
ret = OpenEthSolaris(name, local, tapmode, tapaddr);
return OpenEthSolaris(name, local, tapmode, tapaddr);
#elif defined(BRIDGE_PCAP)
ret = OpenEthPcap(name, local, tapmode, tapaddr);
return OpenEthPcap(name, local, tapmode, tapaddr);
#elif defined(BRIDGE_BPF)
ret = OpenEthBpf(name, local, tapmode, tapaddr);
return OpenEthBpf(name, local, tapmode, tapaddr);
#else
return NULL;
#endif
return ret;
}
typedef struct UNIXTHREAD
@ -2695,7 +2664,7 @@ void EthPutPacketLinuxIpRaw(ETH *e, void *data, UINT size)
p = ParsePacket(data, size);
if (p->BroadcastPacket || Cmp(p->MacAddressDest, e->RawIpMyMacAddr, 6) == 0)
if (p && p->BroadcastPacket || Cmp(p->MacAddressDest, e->RawIpMyMacAddr, 6) == 0)
{
if (IsValidUnicastMacAddress(p->MacAddressSrc))
{

View File

@ -227,7 +227,6 @@ void EthSendIpPacketInnerIpRaw(ETH *e, void *data, UINT size, USHORT protocol);
#ifdef UNIX_SOLARIS
// Function prototype for Solaris
bool DlipAttachRequest(int fd, UINT devid);
bool DlipReceiveAck(int fd);
bool DlipPromiscuous(int fd, UINT level);
bool DlipBindRequest(int fd);