DataFlash: avoid integer underflow

Thanks to mbelluzzo: f44b1b3556
This commit is contained in:
Peter Barker 2016-09-13 12:32:01 +10:00 committed by Randy Mackay
parent 95d4475d45
commit fce798bc7a
1 changed files with 4 additions and 1 deletions

View File

@ -207,7 +207,10 @@ void DataFlash_File::periodic_fullrate(const uint32_t now)
uint16_t DataFlash_File::bufferspace_available()
{
uint16_t _head;
return (BUF_SPACE(_writebuf)) - critical_message_reserved_space();
const uint16_t space = BUF_SPACE(_writebuf);
const uint16_t crit = critical_message_reserved_space();
return (space > crit) ? space - crit : 0;
}
// return true for CardInserted() if we successfully initialised