From 4be0c303025d8f012d82f79b3dccb330d3fb47ed Mon Sep 17 00:00:00 2001 From: vaselo Date: Mon, 8 Feb 2016 09:05:32 +0200 Subject: Fixed libpit array overflows --- libpit/source/libpit.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libpit/source/libpit.h b/libpit/source/libpit.h index ccdea20..dbf731a 100644 --- a/libpit/source/libpit.h +++ b/libpit/source/libpit.h @@ -208,12 +208,12 @@ namespace libpit void SetPartitionName(const char *partitionName) { // This isn't strictly necessary but ensures no junk is left in our PIT file. - memset(this->partitionName, 0, 64); + memset(this->partitionName, 0, kPartitionNameMaxLength); - if (strlen(partitionName) < 64) + if (strlen(partitionName) < kPartitionNameMaxLength) strcpy(this->partitionName, partitionName); else - memcpy(this->partitionName, partitionName, 63); + memcpy(this->partitionName, partitionName, kPartitionNameMaxLength - 1); } const char *GetFlashFilename(void) const @@ -226,10 +226,10 @@ namespace libpit // This isn't strictly necessary but ensures no junk is left in our PIT file. memset(this->flashFilename, 0, kFlashFilenameMaxLength); - if (strlen(partitionName) < 32) + if (strlen(partitionName) < kFlashFilenameMaxLength) strcpy(this->flashFilename, flashFilename); else - memcpy(this->flashFilename, flashFilename, 31); + memcpy(this->flashFilename, flashFilename, kFlashFilenameMaxLength - 1); } const char *GetFotaFilename(void) const @@ -242,10 +242,10 @@ namespace libpit // This isn't strictly necessary but ensures no junk is left in our PIT file. memset(this->fotaFilename, 0, kFotaFilenameMaxLength); - if (strlen(partitionName) < 32) + if (strlen(partitionName) < kFotaFilenameMaxLength) strcpy(this->fotaFilename, fotaFilename); else - memcpy(this->fotaFilename, fotaFilename, 31); + memcpy(this->fotaFilename, fotaFilename, kFotaFilenameMaxLength - 1); } }; -- cgit v1.1