@@ -135,15 +135,27 @@ def serialize_list(cls, l:list):
135135 if isinstance (element , str ):
136136 bts += cls .serialize_string (element )
137137 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 )
139145 elif isinstance (element , list ):
140146 if len (element ) != 2 :
141147 raise RuntimeError (f'Expecting 2 elements in { element } ' )
142148 if not isinstance (element [0 ], int ):
143149 raise RuntimeError (f'Expecting int as first in { element } ' )
144150 if not isinstance (element [1 ], int ):
145151 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 )
147159 else :
148160 RuntimeError (f'Unknown serialize { element } ' )
149161 return bts
0 commit comments