@@ -95,7 +95,9 @@ static BSON_INLINE uint32_t
95
95
bson_iter_utf8_len_unsafe (const bson_iter_t * iter )
96
96
{
97
97
uint32_t raw ;
98
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_BEGIN
98
99
memcpy (& raw , iter -> raw + iter -> d1 , sizeof (raw ));
100
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_END
99
101
100
102
const uint32_t native = BSON_UINT32_FROM_LE (raw );
101
103
@@ -131,7 +133,9 @@ static BSON_INLINE const char *
131
133
bson_iter_code_unsafe (const bson_iter_t * iter , uint32_t * length )
132
134
{
133
135
* length = bson_iter_utf8_len_unsafe (iter );
136
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_BEGIN
134
137
return (const char * ) (iter -> raw + iter -> d2 );
138
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_END
135
139
}
136
140
137
141
@@ -169,7 +173,9 @@ bson_iter_double_unsafe (const bson_iter_t *iter)
169
173
{
170
174
double val ;
171
175
176
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_BEGIN
172
177
memcpy (& val , iter -> raw + iter -> d1 , sizeof (val ));
178
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_END
173
179
return BSON_DOUBLE_FROM_LE (val );
174
180
}
175
181
@@ -212,7 +218,9 @@ static BSON_INLINE int32_t
212
218
bson_iter_int32_unsafe (const bson_iter_t * iter )
213
219
{
214
220
uint32_t raw ;
221
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_BEGIN
215
222
memcpy (& raw , iter -> raw + iter -> d1 , sizeof (raw ));
223
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_END
216
224
217
225
const uint32_t native = BSON_UINT32_FROM_LE (raw );
218
226
@@ -242,7 +250,9 @@ static BSON_INLINE int64_t
242
250
bson_iter_int64_unsafe (const bson_iter_t * iter )
243
251
{
244
252
uint64_t raw ;
253
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_BEGIN
245
254
memcpy (& raw , iter -> raw + iter -> d1 , sizeof (raw ));
255
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_END
246
256
247
257
const uint64_t native = BSON_UINT64_FROM_LE (raw );
248
258
@@ -287,7 +297,9 @@ bson_iter_oid (const bson_iter_t *iter);
287
297
static BSON_INLINE const bson_oid_t *
288
298
bson_iter_oid_unsafe (const bson_iter_t * iter )
289
299
{
300
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_BEGIN
290
301
return (const bson_oid_t * ) (iter -> raw + iter -> d1 );
302
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_END
291
303
}
292
304
293
305
@@ -309,8 +321,10 @@ bson_iter_decimal128_unsafe (const bson_iter_t *iter, bson_decimal128_t *dec)
309
321
uint64_t low_le ;
310
322
uint64_t high_le ;
311
323
324
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_BEGIN
312
325
memcpy (& low_le , iter -> raw + iter -> d1 , sizeof (low_le ));
313
326
memcpy (& high_le , iter -> raw + iter -> d1 + 8 , sizeof (high_le ));
327
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_END
314
328
315
329
dec -> low = BSON_UINT64_FROM_LE (low_le );
316
330
dec -> high = BSON_UINT64_FROM_LE (high_le );
@@ -335,7 +349,9 @@ bson_iter_key_len (const bson_iter_t *iter);
335
349
static BSON_INLINE const char *
336
350
bson_iter_key_unsafe (const bson_iter_t * iter )
337
351
{
352
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_BEGIN
338
353
return (const char * ) (iter -> raw + iter -> key );
354
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_END
339
355
}
340
356
341
357
@@ -354,7 +370,9 @@ static BSON_INLINE const char *
354
370
bson_iter_utf8_unsafe (const bson_iter_t * iter , size_t * length )
355
371
{
356
372
* length = bson_iter_utf8_len_unsafe (iter );
373
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_BEGIN
357
374
return (const char * ) (iter -> raw + iter -> d2 );
375
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_END
358
376
}
359
377
360
378
@@ -432,7 +450,9 @@ bson_iter_bool_unsafe (const bson_iter_t *iter)
432
450
{
433
451
char val ;
434
452
453
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_BEGIN
435
454
memcpy (& val , iter -> raw + iter -> d1 , 1 );
455
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_END
436
456
return !!val ;
437
457
}
438
458
@@ -464,7 +484,9 @@ bson_iter_type (const bson_iter_t *iter);
464
484
static BSON_INLINE bson_type_t
465
485
bson_iter_type_unsafe (const bson_iter_t * iter )
466
486
{
487
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_BEGIN
467
488
return (bson_type_t ) (iter -> raw + iter -> type )[0 ];
489
+ BSON_DISABLE_UNSAFE_BUFFER_USAGE_WARNING_END
468
490
}
469
491
470
492
0 commit comments