summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntony Pavlov <antonynpavlov@gmail.com>2015-06-28 19:19:39 +0300
committerSascha Hauer <s.hauer@pengutronix.de>2015-06-29 07:25:01 +0200
commitfb6f3318de9eef90a9fc6bc7a7029ced221f78ac (patch)
treeb8667214a5626c846b97ec5d09ab10a700e34a5a
parent94553814b57fb5196068eac015a25c3aa4d067b1 (diff)
downloadbarebox-fb6f3318de9eef90a9fc6bc7a7029ced221f78ac.tar.gz
barebox-fb6f3318de9eef90a9fc6bc7a7029ced221f78ac.tar.xz
tftp_recv(): according to RFC1350 minimal tftp packet length is 4 bytes
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--fs/tftp.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/tftp.c b/fs/tftp.c
index d970c601b9..e36c1c8a41 100644
--- a/fs/tftp.c
+++ b/fs/tftp.c
@@ -259,7 +259,8 @@ static void tftp_recv(struct file_priv *priv,
uint16_t proto;
uint16_t *s;
- if (len < 2)
+ /* according to RFC1350 minimal tftp packet length is 4 bytes */
+ if (len < 4)
return;
len -= 2;
@@ -315,8 +316,6 @@ static void tftp_recv(struct file_priv *priv,
break;
case TFTP_DATA:
- if (len < 2)
- return;
len -= 2;
priv->block = ntohs(*(uint16_t *)pkt);