1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-16 11:21:18 +03:00

Fix of a bug

Stream::find(char *target) passes NULL as “terminator” to Stream::findUntil(char *target, char *terminator), which immediately dereferences it by passing it on to strlen() :
 
bool Stream::find(char *target)
{
  return findUntil(target, NULL);
}
 
// as find but search ends if the terminator string is found
bool Stream::findUntil(char *target, char *terminator)
{
  return findUntil(target, strlen(target), terminator, strlen(terminator));
}
This commit is contained in:
Amulya Kumar Sahoo
2014-05-30 11:47:08 +05:30
parent 91f0dbc9ec
commit 2c3058b2d5

View File

@ -75,7 +75,7 @@ void Stream::setTimeout(unsigned long timeout) // sets the maximum number of mi
// find returns true if the target string is found // find returns true if the target string is found
bool Stream::find(char *target) bool Stream::find(char *target)
{ {
return findUntil(target, NULL); return findUntil(target, "");
} }
// reads data from the stream until the target string of given length is found // reads data from the stream until the target string of given length is found