From 076e49e1a1ee3374bdaed0f0a4e5d2fd8cc95872 Mon Sep 17 00:00:00 2001 From: Stefan Seyfried Date: Sat, 4 Feb 2017 12:12:27 +0100 Subject: [PATCH] flashtool: make CFlashVersionInfo robust against invalid input Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/4134af3d1d7926af0e557986e1fd95c418ce3435 Author: Stefan Seyfried Date: 2017-02-04 (Sat, 04 Feb 2017) --- src/system/flashtool.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/system/flashtool.cpp b/src/system/flashtool.cpp index 20447b361..2f1b576f6 100644 --- a/src/system/flashtool.cpp +++ b/src/system/flashtool.cpp @@ -441,10 +441,14 @@ void CFlashTool::reboot() } //----------------------------------------------------------------------------------------------------------------- -CFlashVersionInfo::CFlashVersionInfo(const std::string & versionString) +CFlashVersionInfo::CFlashVersionInfo(const std::string & _versionString) { //SBBBYYYYMMTTHHMM -- formatsting - + std::string versionString = _versionString; + /* just to make sure the string is long enough for the following code + * trailing chars don't matter -- will just be ignored */ + if (versionString.size() < 16) + versionString.append(16, '0'); // recover type snapshot = versionString[0];