Reject data files of newer heaptrack versions.
authorMilian Wolff <mail@milianw.de>
Mon, 14 Dec 2015 17:48:03 +0000 (18:48 +0100)
committerMilian Wolff <mail@milianw.de>
Mon, 14 Dec 2015 17:48:03 +0000 (18:48 +0100)
accumulatedtracedata.cpp

index 034646e..8829c23 100644 (file)
@@ -29,6 +29,7 @@
 #include <boost/algorithm/string/predicate.hpp>
 
 #include "linereader.h"
+#include "config.h"
 
 using namespace std;
 
@@ -323,6 +324,11 @@ bool AccumulatedTraceData::read(istream& in)
             fromAttached = true;
         } else if (reader.mode() == 'v') {
             reader >> fileVersion;
+            if (fileVersion > HEAPTRACK_VERSION) {
+                cerr << "The data file was written by a newer heaptrack of version " << hex << fileVersion
+                     << " and is thus not compatible with this build of heaptrack version " << hex << HEAPTRACK_VERSION << '.' << endl;
+                return false;
+            }
         } else {
             cerr << "failed to parse line: " << reader.line() << endl;
         }