diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-06-29 09:30:09 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-06-29 09:30:09 -0600 |
commit | 1deaf2a9634576bf0e0f35a24911c3f22215fbd2 (patch) | |
tree | cfc63769fd41a0e4417e2a723d79e4ba8fb6f077 /nuttx/net/utils/net_chksum.c | |
parent | 02bad8e430f112e7f0bac29f52861c7048cb2bbe (diff) | |
download | px4-nuttx-1deaf2a9634576bf0e0f35a24911c3f22215fbd2.tar.gz px4-nuttx-1deaf2a9634576bf0e0f35a24911c3f22215fbd2.tar.bz2 px4-nuttx-1deaf2a9634576bf0e0f35a24911c3f22215fbd2.zip |
Fixes for networking and tiny webserver from Max
Diffstat (limited to 'nuttx/net/utils/net_chksum.c')
-rw-r--r-- | nuttx/net/utils/net_chksum.c | 7 |
1 files changed, 7 insertions, 0 deletions
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. */ |