1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-23 19:21:59 +03:00

Fix overlapping memcpy call in String::trim (#4938)

memcpy() is undefined when source and destination overlap.  String::trim
uses it when shifting the string left to remove left padding.

Replace with memmove() which is always safe, even when overlapped.
This commit is contained in:
Earle F. Philhower, III
2018-07-18 18:36:31 -07:00
committed by GitHub
parent e5648f3dfd
commit 63ab79e549

View File

@ -753,7 +753,7 @@ void String::trim(void) {
end--; end--;
len = end + 1 - begin; len = end + 1 - begin;
if(begin > buffer) if(begin > buffer)
memcpy(buffer, begin, len); memmove(buffer, begin, len);
buffer[len] = 0; buffer[len] = 0;
} }