@@ -135,15 +135,27 @@ def serialize_list(cls, l:list):
135
135
if isinstance (element , str ):
136
136
bts += cls .serialize_string (element )
137
137
elif isinstance (element , int ):
138
- bts += cls .serialize_int (element , 1 )
138
+ try :
139
+ bts += cls .serialize_int (element , 1 )
140
+ except OverflowError as e :
141
+ log .error (f'Issue serializing: { e } ' )
142
+ log .error (f'Setting as 0' )
143
+ i = 0
144
+ bts += i .to_bytes (1 , cls .ByteOrder )
139
145
elif isinstance (element , list ):
140
146
if len (element ) != 2 :
141
147
raise RuntimeError (f'Expecting 2 elements in { element } ' )
142
148
if not isinstance (element [0 ], int ):
143
149
raise RuntimeError (f'Expecting int as first in { element } ' )
144
150
if not isinstance (element [1 ], int ):
145
151
raise RuntimeError (f'Expecting size as second in { element } ' )
146
- bts += cls .serialize_int (element [0 ], element [1 ])
152
+ try :
153
+ bts += cls .serialize_int (element [0 ], element [1 ])
154
+ except OverflowError as e :
155
+ log .error (f'Issue serializing: { e } ' )
156
+ log .error (f'Setting as 0' )
157
+ i = 0
158
+ bts += i .to_bytes (element [1 ], cls .ByteOrder )
147
159
else :
148
160
RuntimeError (f'Unknown serialize { element } ' )
149
161
return bts
0 commit comments