aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmulya Kumar Sahoo <amulya349@gmail.com>2014-05-30 11:44:50 +0530
committerAmulya Kumar Sahoo <amulya349@gmail.com>2014-05-30 11:44:50 +0530
commit43a8a0f433e3f1971cf1af62b0386fd7c3c786e6 (patch)
tree7e0d74afa5871af00a46acb16706eb245fee4898
parentf3e78a4a2920665b45b964049db3ebed9b8f1dc7 (diff)
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)); }
-rw-r--r--cores/arduino/Stream.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/cores/arduino/Stream.cpp b/cores/arduino/Stream.cpp
index aafb7fc..f21a411 100644
--- a/cores/arduino/Stream.cpp
+++ b/cores/arduino/Stream.cpp
@@ -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
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