return parsedVersion_;
}
- size_t dimension = bitMatrix_->getDimension();
+ int dimension = bitMatrix_->getDimension();
int provisionalVersion = (dimension - 17) >> 2;
if (provisionalVersion <= 6) {
}
parsedVersion_ = Version::decodeVersionInformation(versionBits);
- if (parsedVersion_ != 0) {
+ if (parsedVersion_ != 0 && parsedVersion_->getDimensionForVersion() == dimension) {
return parsedVersion_;
}
}
parsedVersion_ = Version::decodeVersionInformation(versionBits);
- if (parsedVersion_ != 0) {
+ if (parsedVersion_ != 0 && parsedVersion_->getDimensionForVersion() == dimension) {
return parsedVersion_;
}
throw ReaderException("Could not decode version");
Ref<FinderPattern> bottomLeft(info->getBottomLeft());\r
\r
float moduleSize = calculateModuleSize(topLeft, topRight, bottomLeft);\r
+ if (moduleSize < 1.0f) {\r
+ throw zxing::ReaderException("bad module size");\r
+ }\r
int dimension = computeDimension(topLeft, topRight, bottomLeft, moduleSize);\r
Version *provisionalVersion = Version::getProvisionalVersionForDimension(dimension);\r
int modulesBetweenFPCenters = provisionalVersion->getDimensionForVersion() - 7;\r