Adafruit_IO_Arduino icon indicating copy to clipboard operation
Adafruit_IO_Arduino copied to clipboard

Buffer overrun on large data in feed save?

Open pete-thompson opened this issue 4 years ago • 3 comments

  • Arduino board: ESP32

  • Arduino IDE version (found in Arduino -> About Arduino menu): 1.8.13

  • List the steps to reproduce the problem below (if possible attach a sketch or copy the sketch code in too):

My sketch is rebooting frequently. The most recent thing that I've changed is to write long debug messages into an Adafruit IO feed. It appears that the messages are arriving in my feed, but with very odd values for lat/long (I don't set values so would expect 0,0). I read through the code in AdafruitIO_Data.cpp and see that it's using strcpy to copy the incoming data to the buffer without any checks for buffer overrun - so I'm guessing that if I send something longer than 45 characters I'm causing random issues that sometimes result in invalid pointer dereferences and reboots.

pete-thompson avatar Feb 20 '21 12:02 pete-thompson

, but with very odd values for lat/long (I don't set values so would expect 0,0).

Do these odd values for lat/long show up on the feed's feed page on io.adafruit.com?

brentru avatar Feb 22 '21 14:02 brentru

Yes, the values show in the feed. I can't find the specific values just now, but they were huge numbers that clearly weren't valid.

pete-thompson avatar Feb 23 '21 12:02 pete-thompson

Could you file an issue at io.adafruit.com/support so we can take a look? Please include the name of the feed where this appeared.

brentru avatar Feb 24 '21 16:02 brentru