summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2019-06-16 23:08:25 +1000
committerDamien Zammit <damien@zamaudio.com>2019-06-16 23:08:25 +1000
commit83ef828c28d33645e0204e119dc5cc469d02e21e (patch)
tree73c71cb160751d8707147ffa50a2d0a8038ca3f1
parent5e68c5872e52806139bfa7dda9f2c8a9915cfe25 (diff)
Fix bit width of 3 point parser
-rw-r--r--ptfformat.cc24
1 files changed, 12 insertions, 12 deletions
diff --git a/ptfformat.cc b/ptfformat.cc
index a2a1afa..42da81d 100644
--- a/ptfformat.cc
+++ b/ptfformat.cc
@@ -779,16 +779,16 @@ PTFFormat::parse_three_point(uint32_t j, uint64_t& start, uint64_t& offset, uint
offset = u_endian_read5(&ptfunxored[j+5], false);
break;
case 4:
- offset = u_endian_read4(&ptfunxored[j+5], false);
+ offset = (uint64_t)u_endian_read4(&ptfunxored[j+5], false);
break;
case 3:
- offset = u_endian_read3(&ptfunxored[j+5], false);
+ offset = (uint64_t)u_endian_read3(&ptfunxored[j+5], false);
break;
case 2:
- offset = (uint32_t)u_endian_read2(&ptfunxored[j+5], false);
+ offset = (uint64_t)u_endian_read2(&ptfunxored[j+5], false);
break;
case 1:
- offset = (uint32_t)(ptfunxored[j+5]);
+ offset = (uint64_t)(ptfunxored[j+5]);
break;
default:
offset = 0;
@@ -800,16 +800,16 @@ PTFFormat::parse_three_point(uint32_t j, uint64_t& start, uint64_t& offset, uint
length = u_endian_read5(&ptfunxored[j+5], false);
break;
case 4:
- length = u_endian_read4(&ptfunxored[j+5], false);
+ length = (uint64_t)u_endian_read4(&ptfunxored[j+5], false);
break;
case 3:
- length = u_endian_read3(&ptfunxored[j+5], false);
+ length = (uint64_t)u_endian_read3(&ptfunxored[j+5], false);
break;
case 2:
- length = (uint32_t)u_endian_read2(&ptfunxored[j+5], false);
+ length = (uint64_t)u_endian_read2(&ptfunxored[j+5], false);
break;
case 1:
- length = (uint32_t)(ptfunxored[j+5]);
+ length = (uint64_t)(ptfunxored[j+5]);
break;
default:
length = 0;
@@ -821,16 +821,16 @@ PTFFormat::parse_three_point(uint32_t j, uint64_t& start, uint64_t& offset, uint
start = u_endian_read5(&ptfunxored[j+5], false);
break;
case 4:
- start = u_endian_read4(&ptfunxored[j+5], false);
+ start = (uint64_t)u_endian_read4(&ptfunxored[j+5], false);
break;
case 3:
- start = u_endian_read3(&ptfunxored[j+5], false);
+ start = (uint64_t)u_endian_read3(&ptfunxored[j+5], false);
break;
case 2:
- start = (uint32_t)u_endian_read2(&ptfunxored[j+5], false);
+ start = (uint64_t)u_endian_read2(&ptfunxored[j+5], false);
break;
case 1:
- start = (uint32_t)(ptfunxored[j+5]);
+ start = (uint64_t)(ptfunxored[j+5]);
break;
default:
start = 0;