adafruit / adafruit/Adafruit_WICED_Arduino

udp.read(buffer, sizeof(buffer)) returns more data than in the currently parsed packet

Open
#80 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
26
Forks
19
PR merge metrics
No merged PRs in 30d

Description

How to reproduce:

- Send 2 udp packets to the feather (e.g. each with a size of 770 bytes)
- Let the feather sleep until both packets are sent
- Parse the udp packet and note that the size of the first packet is return correctly (770)
- Read the udp packet into a buffer using the read function that has a size of the maximum unfragmented possible udp packet size (1460)
- read function returns data (and read Bytes) of the second packet too (1460, should be 770)

There should be a limitation of bytes returned to a maximum of the current udp packet size.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the udp.read(buffer, sizeof(buffer)) entry point and trace how the current packet size is parsed and passed to the read operation. Reproduce the case with two 770-byte UDP packets and a 1460-byte buffer; done means read returns only the current packet's 770 bytes rather than data from the next packet.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.