diff --git a/apps/turan/fitparser.py b/apps/turan/fitparser.py index 16b7105e..ce64424b 100755 --- a/apps/turan/fitparser.py +++ b/apps/turan/fitparser.py @@ -254,7 +254,11 @@ def parse_uploaded_file(self, f): local_msg_types = {} hdr = f.read(12) (hdr_size,proto_ver,prof_ver,data_size) = struct.unpack('BBHI',hdr[0:8]) - data_type = hdr[8:] + if hdr_size > 12: + # XXX: Maybe do something sensible with this. Ensures we + # handle FIT files with optional CRC at least. + f.read(hdr_size - 12) + data_type = hdr[8:12] if data_type != '.FIT': return