Issue 509
[zxing.git] / cpp / core / src / zxing / qrcode / decoder / BitMatrixParser.cpp
index 04cd06b..3e3a5ff 100644 (file)
@@ -84,7 +84,7 @@ Version *BitMatrixParser::readVersion() {
     return parsedVersion_;
   }
 
-  size_t dimension = bitMatrix_->getDimension();
+  int dimension = bitMatrix_->getDimension();
 
   int provisionalVersion = (dimension - 17) >> 2;
   if (provisionalVersion <= 6) {
@@ -101,7 +101,7 @@ Version *BitMatrixParser::readVersion() {
   }
 
   parsedVersion_ = Version::decodeVersionInformation(versionBits);
-  if (parsedVersion_ != 0) {
+  if (parsedVersion_ != 0 && parsedVersion_->getDimensionForVersion() == dimension) {
     return parsedVersion_;
   }
 
@@ -115,7 +115,7 @@ Version *BitMatrixParser::readVersion() {
   }
 
   parsedVersion_ = Version::decodeVersionInformation(versionBits);
-  if (parsedVersion_ != 0) {
+  if (parsedVersion_ != 0 && parsedVersion_->getDimensionForVersion() == dimension) {
     return parsedVersion_;
   }
   throw ReaderException("Could not decode version");