mkbootimg: use int for os_version and os_patch_level
The parse_int function attempts to interpret the string to detect base, which leads to it assuming strings starting with 0 are base 8. This obviously fails for certain dates, so use int instead. Bug: 27498078 Bug: 22914603 Change-Id: I50b1fb3d7876f2ec17d00649cc9a2d23af2aec2b
This commit is contained in:
parent
fbdbf100cb
commit
294eb9dac3
|
@ -102,12 +102,12 @@ def parse_int(x):
|
|||
def parse_os_version(x):
|
||||
match = re.search(r'^(\d{1,3})(?:\.(\d{1,3})(?:\.(\d{1,3}))?)?', x)
|
||||
if match:
|
||||
a = parse_int(match.group(1))
|
||||
a = int(match.group(1))
|
||||
b = c = 0
|
||||
if match.lastindex >= 2:
|
||||
b = parse_int(match.group(2))
|
||||
b = int(match.group(2))
|
||||
if match.lastindex == 3:
|
||||
c = parse_int(match.group(3))
|
||||
c = int(match.group(3))
|
||||
# 7 bits allocated for each field
|
||||
assert a < 128
|
||||
assert b < 128
|
||||
|
@ -118,8 +118,8 @@ def parse_os_version(x):
|
|||
def parse_os_patch_level(x):
|
||||
match = re.search(r'^(\d{4})-(\d{2})-(\d{2})', x)
|
||||
if match:
|
||||
y = parse_int(match.group(1)) - 2000
|
||||
m = parse_int(match.group(2))
|
||||
y = int(match.group(1)) - 2000
|
||||
m = int(match.group(2))
|
||||
# 7 bits allocated for the year, 4 bits for the month
|
||||
assert y >= 0 and y < 128
|
||||
assert m > 0 and m <= 12
|
||||
|
|
Loading…
Reference in New Issue