From ba7fb5518f827ce74beab0fa3115617b728ca5ef Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Thu, 6 Jun 2013 20:04:43 +0200 Subject: [PATCH] Fixed buffer overflow on String class (Paul Stoffregen) --- hardware/arduino/avr/cores/arduino/WString.cpp | 4 ++-- hardware/arduino/avr/cores/robot/WString.cpp | 4 ++-- hardware/arduino/sam/cores/arduino/WString.cpp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/hardware/arduino/avr/cores/arduino/WString.cpp b/hardware/arduino/avr/cores/arduino/WString.cpp index ace128dad..8c85cc592 100644 --- a/hardware/arduino/avr/cores/arduino/WString.cpp +++ b/hardware/arduino/avr/cores/arduino/WString.cpp @@ -296,14 +296,14 @@ unsigned char String::concat(unsigned char num) unsigned char String::concat(int num) { - char buf[7]; + char buf[12]; itoa(num, buf, 10); return concat(buf, strlen(buf)); } unsigned char String::concat(unsigned int num) { - char buf[6]; + char buf[11]; utoa(num, buf, 10); return concat(buf, strlen(buf)); } diff --git a/hardware/arduino/avr/cores/robot/WString.cpp b/hardware/arduino/avr/cores/robot/WString.cpp index ace128dad..8c85cc592 100644 --- a/hardware/arduino/avr/cores/robot/WString.cpp +++ b/hardware/arduino/avr/cores/robot/WString.cpp @@ -296,14 +296,14 @@ unsigned char String::concat(unsigned char num) unsigned char String::concat(int num) { - char buf[7]; + char buf[12]; itoa(num, buf, 10); return concat(buf, strlen(buf)); } unsigned char String::concat(unsigned int num) { - char buf[6]; + char buf[11]; utoa(num, buf, 10); return concat(buf, strlen(buf)); } diff --git a/hardware/arduino/sam/cores/arduino/WString.cpp b/hardware/arduino/sam/cores/arduino/WString.cpp index fa47491a9..de1a2f1b2 100644 --- a/hardware/arduino/sam/cores/arduino/WString.cpp +++ b/hardware/arduino/sam/cores/arduino/WString.cpp @@ -297,14 +297,14 @@ unsigned char String::concat(unsigned char num) unsigned char String::concat(int num) { - char buf[7]; + char buf[12]; itoa(num, buf, 10); return concat(buf, strlen(buf)); } unsigned char String::concat(unsigned int num) { - char buf[6]; + char buf[11]; utoa(num, buf, 10); return concat(buf, strlen(buf)); }