Skip to content

Commit 4946984

Browse files
committed
Fix IP csum calculation on 8-bit platforms
1 parent 85414cf commit 4946984

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

mongoose.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4206,7 +4206,7 @@ static void mkpay(struct pkt *pkt, void *p) {
42064206
static uint32_t csumup(uint32_t sum, const void *buf, size_t len) {
42074207
size_t i;
42084208
const uint8_t *p = (const uint8_t *) buf;
4209-
for (i = 0; i < len; i++) sum += i & 1 ? p[i] : (uint32_t) (p[i] << 8);
4209+
for (i = 0; i < len; i++) sum += i & 1 ? p[i] : ((uint32_t) p[i]) << 8;
42104210
return sum;
42114211
}
42124212

src/net_builtin.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ static void mkpay(struct pkt *pkt, void *p) {
152152
static uint32_t csumup(uint32_t sum, const void *buf, size_t len) {
153153
size_t i;
154154
const uint8_t *p = (const uint8_t *) buf;
155-
for (i = 0; i < len; i++) sum += i & 1 ? p[i] : (uint32_t) (p[i] << 8);
155+
for (i = 0; i < len; i++) sum += i & 1 ? p[i] : ((uint32_t) p[i]) << 8;
156156
return sum;
157157
}
158158

0 commit comments

Comments
 (0)