sao: fix erronius length errors

This commit is contained in:
2023-11-09 23:37:40 -05:00
parent 44755d4d0f
commit a299ba98ac
2 changed files with 16 additions and 8 deletions

View File

@ -19,9 +19,7 @@ class SaoRequestHeader:
class SaoBaseRequest:
def __init__(self, header: SaoRequestHeader, data: bytes) -> None:
self.header = header
if self.header.data_len != len(data):
logging.getLogger('sao').error(f"Expected {self.header.data_len} data bytes byt got {len(data)}!")
# TODO: Raise an error here
# TODO: Length check
class SaoResponseHeader:
def __init__(self, cmd_id: int) -> None:
@ -2046,15 +2044,10 @@ class SaoSynthesizeEnhancementHeroLogRequest(SaoBaseRequest):
off += origin_user_hero_log_id[1]
self.material_common_reward_user_data_list: List[MaterialCommonRewardUserData]
if len(data) <= off:
self.material_common_reward_user_data_count = 0
return
self.material_common_reward_user_data_count = decode_int(data, off)
off += INT_OFF
for _ in range(self.material_common_reward_user_data_count):
mat = MaterialCommonRewardUserData(data, off)
off += mat.get_size()