summaryrefslogtreecommitdiff
path: root/apps/netutils/tftpc
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-12-12 15:59:33 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-12-12 15:59:33 +0000
commit5613783ce89ed5ab2a9820cf702d2c7a3b16171e (patch)
treeb1a37c96724ff5ecf769f887305efa4484d11141 /apps/netutils/tftpc
parent957f2fb9af791e170d7cd71703a28db8add528dd (diff)
downloadnuttx-5613783ce89ed5ab2a9820cf702d2c7a3b16171e.tar.gz
nuttx-5613783ce89ed5ab2a9820cf702d2c7a3b16171e.tar.bz2
nuttx-5613783ce89ed5ab2a9820cf702d2c7a3b16171e.zip
STM32 Ethernet... initial bring-up changes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4165 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'apps/netutils/tftpc')
-rw-r--r--apps/netutils/tftpc/tftpc_get.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/apps/netutils/tftpc/tftpc_get.c b/apps/netutils/tftpc/tftpc_get.c
index f4fb74dd3..bfae1a3b7 100644
--- a/apps/netutils/tftpc/tftpc_get.c
+++ b/apps/netutils/tftpc/tftpc_get.c
@@ -256,10 +256,19 @@ int tftpget(const char *remote, const char *local, in_addr_t addr, bool binary)
/* Parse the incoming DATA packet */
- if (nbytesrecvd < TFTP_DATAHEADERSIZE ||
- tftp_parsedatapacket(packet, &opcode, &rblockno) != OK ||
+ if (nbytesrecvd < TFTP_DATAHEADERSIZE)
+ {
+ /* Packet is not big enough to be parsed */
+
+ nvdbg("Tiny data packet ignored\n");
+ continue;
+ }
+
+ if (tftp_parsedatapacket(packet, &opcode, &rblockno) != OK ||
blockno != rblockno)
{
+ /* Opcode is not TFTP_DATA or the block number is unexpected */
+
nvdbg("Parse failure\n");
if (opcode > TFTP_MAXRFC1350)
{