summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-08-31 23:50:22 +0100
committerDamien George <damien.p.george@gmail.com>2014-09-01 22:52:37 +0100
commit812cf62f4358ea541f03ef69e7b918a763c826ed (patch)
treeae84c5fc1ac38a5c7f4ea90c247fc862e369a3c8
parent71224cb8db833d038409838ca4fcb3ac3a79086b (diff)
downloadmicropython-812cf62f4358ea541f03ef69e7b918a763c826ed.tar.gz
micropython-812cf62f4358ea541f03ef69e7b918a763c826ed.zip
drivers, wiznet5k: Fix IP addr verification.
-rw-r--r--drivers/wiznet5k/ethernet/socket.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/wiznet5k/ethernet/socket.c b/drivers/wiznet5k/ethernet/socket.c
index 23126174a4..4c23481391 100644
--- a/drivers/wiznet5k/ethernet/socket.c
+++ b/drivers/wiznet5k/ethernet/socket.c
@@ -195,8 +195,8 @@ int8_t connect(uint8_t sn, uint8_t * addr, uint16_t port)
taddr = ((uint32_t)addr[0] & 0x000000FF);
taddr = (taddr << 8) + ((uint32_t)addr[1] & 0x000000FF);
taddr = (taddr << 8) + ((uint32_t)addr[2] & 0x000000FF);
- taddr = (taddr << 8) + ((uint32_t)addr[0] & 0x000000FF);
- if( taddr == 0xFFFFFFFF || taddr == 0) return SOCKERR_IPINVALID;
+ taddr = (taddr << 8) + ((uint32_t)addr[3] & 0x000000FF);
+ if (taddr == 0xFFFFFFFF || taddr == 0) return SOCKERR_IPINVALID;
}
//
@@ -369,9 +369,9 @@ int32_t sendto(uint8_t sn, uint8_t * buf, uint16_t len, uint8_t * addr, uint16_t
taddr = (taddr << 8) + ((uint32_t)addr[1] & 0x000000FF);
taddr = (taddr << 8) + ((uint32_t)addr[2] & 0x000000FF);
taddr = (taddr << 8) + ((uint32_t)addr[3] & 0x000000FF);
+ if (taddr == 0xFFFFFFFF || taddr == 0) return SOCKERR_IPINVALID;
}
//
- if(*((uint32_t*)addr) == 0) return SOCKERR_IPINVALID;
if(port == 0) return SOCKERR_PORTZERO;
tmp = getSn_SR(sn);
if(tmp != SOCK_MACRAW && tmp != SOCK_UDP) return SOCKERR_SOCKSTATUS;