self._Version = int(Value, 0)\r
elif decVersionPattern.match(Value):\r
ValueList = Value.split('.')\r
- Major = '%04o' % int(ValueList[0], 0)\r
- Minor = '%04o' % int(ValueList[1], 0)\r
- self._Version = int('0x' + Major + Minor, 0)\r
+ Major = int(ValueList[0], 0)\r
+ Minor = int(ValueList[1], 0)\r
+ if Major > 0xffff or Minor > 0xffff:\r
+ EdkLogger.error('Parser', FORMAT_INVALID, "Invalid version number",\r
+ ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex + 1)\r
+ self._Version = int('0x{0:04x}{1:04x}'.format(Major, Minor), 0)\r
else:\r
EdkLogger.error('Parser', FORMAT_INVALID, "Invalid version number",\r
ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex + 1)\r