History

r32, r64: no UB plz (thanks kvik)

Sigrid Solveig Haflínudóttir committed 5 years ago

Commit 31967261 parent 0c2839a1 file · +8 −3Browse files

Unified · Split

c9.c+8−3
@@ -83,19 +83,24 @@ static uint16_t · 82 unmodified lines
83r16(uint8_t **p)83r16(uint8_t **p)
84{84{
85 *p += 2;85 *p += 2;
86 return (uint16_t)(*p)[-2]<<0 | (uint16_t)(*p)[-1]<<8;86 return (*p)[-2]<<0 | (*p)[-1]<<8;
87}87}
88 88
89static uint32_t89static uint32_t
90r32(uint8_t **p)90r32(uint8_t **p)
91{91{
92 return r16(p) | (uint32_t)r16(p)<<16;92 *p += 4;
93 return (*p)[-4]<<0 | (*p)[-3]<<8 | (*p)[-2]<<16 | (*p)[-1]<<24;
93}94}
94 95
95static uint64_t96static uint64_t
96r64(uint8_t **p)97r64(uint8_t **p)
97{98{
98 return r32(p) | (uint64_t)r32(p)<<32;99 uint64_t v;
100
101 v = r32(p);
102 v |= (uint64_t)r32(p)<<32;
103 return v;
99}104}
100 105
101#ifndef C9_NO_CLIENT106#ifndef C9_NO_CLIENT

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t