summaryrefslogtreecommitdiff
path: root/nuttx/net
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-06-29 09:30:09 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-06-29 09:30:09 -0600
commit1deaf2a9634576bf0e0f35a24911c3f22215fbd2 (patch)
treecfc63769fd41a0e4417e2a723d79e4ba8fb6f077 /nuttx/net
parent02bad8e430f112e7f0bac29f52861c7048cb2bbe (diff)
downloadnuttx-1deaf2a9634576bf0e0f35a24911c3f22215fbd2.tar.gz
nuttx-1deaf2a9634576bf0e0f35a24911c3f22215fbd2.tar.bz2
nuttx-1deaf2a9634576bf0e0f35a24911c3f22215fbd2.zip
Fixes for networking and tiny webserver from Max
Diffstat (limited to 'nuttx/net')
-rw-r--r--nuttx/net/socket/net_sendfile.c2
-rw-r--r--nuttx/net/utils/net_chksum.c7
2 files changed, 9 insertions, 0 deletions
diff --git a/nuttx/net/socket/net_sendfile.c b/nuttx/net/socket/net_sendfile.c
index 5b43f297d..bc4181ab4 100644
--- a/nuttx/net/socket/net_sendfile.c
+++ b/nuttx/net/socket/net_sendfile.c
@@ -60,10 +60,12 @@
#include <nuttx/fs/fs.h>
#include <nuttx/net/arp.h>
#include <nuttx/net/netdev.h>
+#include <nuttx/net/tcp.h>
#include "socket/socket.h"
#include "netdev/netdev.h"
#include "devif/devif.h"
+#include "tcp/tcp.h"
/****************************************************************************
* Definitions
diff --git a/nuttx/net/utils/net_chksum.c b/nuttx/net/utils/net_chksum.c
index ff8438678..789646f50 100644
--- a/nuttx/net/utils/net_chksum.c
+++ b/nuttx/net/utils/net_chksum.c
@@ -126,6 +126,13 @@ static uint16_t upper_layer_chksum(FAR struct net_driver_s *dev, uint8_t proto)
upper_layer_len = (((uint16_t)(pbuf->len[0]) << 8) + pbuf->len[1]) - UIP_IPH_LEN;
#endif /* CONFIG_NET_IPv6 */
+ /* Verify some minimal assumptions */
+
+ if (upper_layer_len > CONFIG_NET_BUFSIZE)
+ {
+ return 0;
+ }
+
/* First sum pseudo-header. */
/* IP protocol and length fields. This addition cannot carry. */