Skip to content
This repository was archived by the owner on Oct 13, 2020. It is now read-only.

Commit 34814d2

Browse files
author
Jérôme Lebel
committed
more robust code
1 parent c1936b7 commit 34814d2

File tree

9 files changed

+32
-32
lines changed

9 files changed

+32
-32
lines changed

src/bson/bson-context.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ _bson_context_get_oid_seq64 (bson_context_t *context, /* IN */
285285
BSON_ASSERT (oid);
286286

287287
seq = BSON_UINT64_TO_BE (context->seq64++);
288-
memcpy (&oid->bytes[4], &seq, 8);
288+
memcpy (&oid->bytes[4], &seq, sizeof (seq));
289289
}
290290

291291

@@ -319,7 +319,7 @@ _bson_context_get_oid_seq64_threadsafe (bson_context_t *context, /* IN */
319319
#endif
320320

321321
seq = BSON_UINT64_TO_BE (seq);
322-
memcpy (&oid->bytes[4], &seq, 8);
322+
memcpy (&oid->bytes[4], &seq, sizeof (seq));
323323
}
324324

325325

src/bson/bson-iter.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,7 @@ bson_iter_next (bson_iter_t *iter) /* INOUT */
463463
}
464464

465465
iter->d2 = o + 4;
466-
memcpy (&l, iter->raw + iter->d1, 4);
466+
memcpy (&l, iter->raw + iter->d1, sizeof (l));
467467
l = BSON_UINT32_FROM_LE (l);
468468

469469
if (l > (len - (o + 4))) {
@@ -503,7 +503,7 @@ bson_iter_next (bson_iter_t *iter) /* INOUT */
503503
iter->d2 = o + 4;
504504
iter->d3 = o + 5;
505505

506-
memcpy (&l, iter->raw + iter->d1, 4);
506+
memcpy (&l, iter->raw + iter->d1, sizeof (l));
507507
l = BSON_UINT32_FROM_LE (l);
508508

509509
if (l >= (len - o)) {
@@ -533,7 +533,7 @@ bson_iter_next (bson_iter_t *iter) /* INOUT */
533533
goto mark_invalid;
534534
}
535535

536-
memcpy (&l, iter->raw + iter->d1, 4);
536+
memcpy (&l, iter->raw + iter->d1, sizeof (l));
537537
l = BSON_UINT32_FROM_LE (l);
538538

539539
if ((l > len) || (l > (len - o))) {
@@ -593,7 +593,7 @@ bson_iter_next (bson_iter_t *iter) /* INOUT */
593593
}
594594

595595
iter->d2 = o + 4;
596-
memcpy (&l, iter->raw + iter->d1, 4);
596+
memcpy (&l, iter->raw + iter->d1, sizeof (l));
597597
l = BSON_UINT32_FROM_LE (l);
598598

599599
if ((l > len) || (l > (len - o))) {
@@ -618,7 +618,7 @@ bson_iter_next (bson_iter_t *iter) /* INOUT */
618618
iter->d2 = o + 4;
619619
iter->d3 = o + 8;
620620

621-
memcpy (&l, iter->raw + iter->d1, 4);
621+
memcpy (&l, iter->raw + iter->d1, sizeof (l));
622622
l = BSON_UINT32_FROM_LE (l);
623623

624624
if ((l < 14) || (l >= (len - o))) {
@@ -633,7 +633,7 @@ bson_iter_next (bson_iter_t *iter) /* INOUT */
633633
goto mark_invalid;
634634
}
635635

636-
memcpy (&l, iter->raw + iter->d2, 4);
636+
memcpy (&l, iter->raw + iter->d2, sizeof (l));
637637
l = BSON_UINT32_FROM_LE (l);
638638

639639
if (l >= (len - o - 4 - 4)) {
@@ -647,7 +647,7 @@ bson_iter_next (bson_iter_t *iter) /* INOUT */
647647
}
648648

649649
iter->d4 = o + 4 + 4 + l;
650-
memcpy (&doclen, iter->raw + iter->d4, 4);
650+
memcpy (&doclen, iter->raw + iter->d4, sizeof (doclen));
651651
doclen = BSON_UINT32_FROM_LE (doclen);
652652

653653
if ((o + 4 + 4 + l + doclen) != iter->next_off) {
@@ -1287,7 +1287,7 @@ bson_iter_dbpointer (const bson_iter_t *iter, /* IN */
12871287

12881288
if (ITER_TYPE (iter) == BSON_TYPE_DBPOINTER) {
12891289
if (collection_len) {
1290-
memcpy (collection_len, (iter->raw + iter->d1), 4);
1290+
memcpy (collection_len, (iter->raw + iter->d1), sizeof (*collection_len));
12911291
*collection_len = BSON_UINT32_FROM_LE (*collection_len);
12921292

12931293
if ((*collection_len) > 0) {
@@ -1444,7 +1444,7 @@ bson_iter_timestamp (const bson_iter_t *iter, /* IN */
14441444
bson_return_if_fail (iter);
14451445

14461446
if (ITER_TYPE (iter) == BSON_TYPE_TIMESTAMP) {
1447-
memcpy (&encoded, iter->raw + iter->d1, 8);
1447+
memcpy (&encoded, iter->raw + iter->d1, sizeof (encoded));
14481448
encoded = BSON_UINT64_FROM_LE (encoded);
14491449
ret_timestamp = (encoded >> 32) & 0xFFFFFFFF;
14501450
ret_increment = encoded & 0xFFFFFFFF;
@@ -1985,7 +1985,7 @@ bson_iter_overwrite_int32 (bson_iter_t *iter, /* IN */
19851985
#if BSON_BYTE_ORDER != BSON_LITTLE_ENDIAN
19861986
value = BSON_UINT32_TO_LE (value);
19871987
#endif
1988-
memcpy ((void *)(iter->raw + iter->d1), &value, 4);
1988+
memcpy ((void *)(iter->raw + iter->d1), &value, sizeof (value));
19891989
}
19901990
}
19911991

@@ -2017,7 +2017,7 @@ bson_iter_overwrite_int64 (bson_iter_t *iter, /* IN */
20172017
#if BSON_BYTE_ORDER != BSON_LITTLE_ENDIAN
20182018
value = BSON_UINT64_TO_LE (value);
20192019
#endif
2020-
memcpy ((void *)(iter->raw + iter->d1), &value, 8);
2020+
memcpy ((void *)(iter->raw + iter->d1), &value, sizeof (value));
20212021
}
20222022
}
20232023

@@ -2047,7 +2047,7 @@ bson_iter_overwrite_double (bson_iter_t *iter, /* IN */
20472047

20482048
if (ITER_TYPE (iter) == BSON_TYPE_DOUBLE) {
20492049
value = BSON_DOUBLE_TO_LE (value);
2050-
memcpy ((void *)(iter->raw + iter->d1), &value, 8);
2050+
memcpy ((void *)(iter->raw + iter->d1), &value, sizeof (value));
20512051
}
20522052
}
20532053

src/bson/bson-iter.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ bson_iter_double_unsafe (const bson_iter_t *iter)
193193
{
194194
double val;
195195

196-
memcpy (&val, iter->raw + iter->d1, 8);
196+
memcpy (&val, iter->raw + iter->d1, sizeof (val));
197197
return BSON_DOUBLE_FROM_LE (val);
198198
}
199199

@@ -232,7 +232,7 @@ bson_iter_int32_unsafe (const bson_iter_t *iter)
232232
{
233233
int32_t val;
234234

235-
memcpy (&val, iter->raw + iter->d1, 4);
235+
memcpy (&val, iter->raw + iter->d1, sizeof (val));
236236
return BSON_UINT32_FROM_LE (val);
237237
}
238238

@@ -258,7 +258,7 @@ bson_iter_int64_unsafe (const bson_iter_t *iter)
258258
{
259259
int64_t val;
260260

261-
memcpy (&val, iter->raw + iter->d1, 8);
261+
memcpy (&val, iter->raw + iter->d1, sizeof (val));
262262
return BSON_UINT64_FROM_LE (val);
263263
}
264264

src/bson/bson-md5.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ bson_md5_process (bson_md5_t *md5,
186186
}
187187
else {
188188
/* not aligned */
189-
memcpy(xbuf, data, 64);
189+
memcpy(xbuf, data, sizeof (xbuf));
190190
X = xbuf;
191191
}
192192
}
@@ -398,7 +398,7 @@ bson_md5_finish (bson_md5_t *pms,
398398
/* Pad to 56 bytes mod 64. */
399399
bson_md5_append(pms, pad, ((55 - (pms->count[0] >> 3)) & 63) + 1);
400400
/* Append the length. */
401-
bson_md5_append(pms, data, 8);
401+
bson_md5_append(pms, data, sizeof (data));
402402
for (i = 0; i < 16; ++i)
403403
digest[i] = (uint8_t)(pms->abcd[i >> 2] >> ((i & 3) << 3));
404404
}

src/bson/bson-oid.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ bson_oid_init_sequence (bson_oid_t *oid, /* OUT */
125125

126126
now = BSON_UINT32_TO_BE (now);
127127

128-
memcpy (&oid->bytes[0], &now, 4);
128+
memcpy (&oid->bytes[0], &now, sizeof (now));
129129
context->oid_get_seq64 (context, oid);
130130
}
131131

@@ -166,7 +166,7 @@ bson_oid_init (bson_oid_t *oid, /* OUT */
166166
}
167167

168168
now = BSON_UINT32_TO_BE (now);
169-
memcpy (&oid->bytes[0], &now, 4);
169+
memcpy (&oid->bytes[0], &now, sizeof (now));
170170

171171
context->oid_get_host (context, oid);
172172
context->oid_get_pid (context, oid);

src/bson/bson-oid.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ bson_oid_get_time_t_unsafe (const bson_oid_t *oid)
237237
{
238238
uint32_t t;
239239

240-
memcpy (&t, oid, 4);
240+
memcpy (&t, oid, sizeof (t));
241241
return BSON_UINT32_FROM_BE (t);
242242
}
243243

src/bson/bson.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -254,10 +254,10 @@ static BSON_INLINE void
254254
_bson_encode_length (bson_t *bson) /* IN */
255255
{
256256
#if BSON_BYTE_ORDER == BSON_LITTLE_ENDIAN
257-
memcpy (_bson_data (bson), &bson->len, 4);
257+
memcpy (_bson_data (bson), &bson->len, sizeof (bson->len));
258258
#else
259259
uint32_t length_le = BSON_UINT32_TO_LE (bson->len);
260-
memcpy (_bson_data (bson), &length_le, 4);
260+
memcpy (_bson_data (bson), &length_le, sizeof (length_le));
261261
#endif
262262
}
263263

@@ -1808,7 +1808,7 @@ bson_init_static (bson_t *bson,
18081808
return false;
18091809
}
18101810

1811-
memcpy (&len_le, data, 4);
1811+
memcpy (&len_le, data, sizeof (len_le));
18121812

18131813
if (BSON_UINT32_FROM_LE (len_le) != length) {
18141814
return false;
@@ -1911,7 +1911,7 @@ bson_new_from_data (const uint8_t *data,
19111911
return NULL;
19121912
}
19131913

1914-
memcpy (&len_le, data, 4);
1914+
memcpy (&len_le, data, sizeof (len_le));
19151915

19161916
if (length != BSON_UINT32_FROM_LE (len_le)) {
19171917
return NULL;
@@ -1951,15 +1951,15 @@ bson_new_from_buffer (uint8_t **buf,
19511951
len_le = BSON_UINT32_TO_LE (length);
19521952
*buf_len = 5;
19531953
*buf = realloc_func (*buf, *buf_len, realloc_func_ctx);
1954-
memcpy (*buf, &len_le, 4);
1954+
memcpy (*buf, &len_le, sizeof (len_le));
19551955
(*buf) [4] = '\0';
19561956
} else {
19571957
if ((*buf_len < 5) || (*buf_len > INT_MAX)) {
19581958
bson_free (bson);
19591959
return NULL;
19601960
}
19611961

1962-
memcpy (&len_le, *buf, 4);
1962+
memcpy (&len_le, *buf, sizeof (len_le));
19631963
length = BSON_UINT32_FROM_LE(len_le);
19641964
}
19651965

tests/test-bson.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -841,7 +841,7 @@ test_bson_new_from_buffer (void)
841841
size_t len = 5;
842842
uint32_t len_le = BSON_UINT32_TO_LE(5);
843843

844-
memcpy(buf, &len_le, 4);
844+
memcpy(buf, &len_le, sizeof (len_le));
845845

846846
b = bson_new_from_buffer(&buf, &len, bson_realloc_ctx, NULL);
847847

tests/test-iter.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -192,11 +192,11 @@ test_bson_iter_fuzz (void)
192192

193193
for (pass = 0; pass < FUZZ_N_PASSES; pass++) {
194194
data = bson_malloc0(len);
195-
memcpy(data, &len_le, 4);
195+
memcpy(data, &len_le, sizeof (len_le));
196196

197197
for (i = 4; i < len; i += 4) {
198198
r = rand();
199-
memcpy(&data[i], &r, 4);
199+
memcpy(&data[i], &r, sizeof (r));
200200
}
201201

202202
if (!(b = bson_new_from_data(data, len))) {
@@ -229,7 +229,7 @@ test_bson_iter_fuzz (void)
229229
assert(child_len >= 5);
230230
assert((iter.off + child_len) < b->len);
231231
assert(child_len < (uint32_t)-1);
232-
memcpy(&child_len, child, 4);
232+
memcpy(&child_len, child, sizeof (child_len));
233233
child_len = BSON_UINT32_FROM_LE(child_len);
234234
assert(child_len >= 5);
235235
}

0 commit comments

Comments
 (0)