line |
true |
false |
branch |
113
|
1917 |
65 |
if (((size_t)impl->len + size) <= sizeof impl->data) { |
119
|
65 |
0 |
if (req <= INT32_MAX) { |
170
|
1164 |
24 |
if (req <= *impl->buflen) { |
176
|
24 |
0 |
if ((req <= INT32_MAX) && impl->realloc) { |
|
24 |
0 |
if ((req <= INT32_MAX) && impl->realloc) { |
207
|
1982 |
1188 |
if ((bson->flags & BSON_FLAG_INLINE)) { |
235
|
5947 |
9022 |
if ((bson->flags & BSON_FLAG_INLINE)) { |
312
|
0 |
3109 |
BSON_ASSERT (!(bson->flags & BSON_FLAG_IN_CHILD)); |
313
|
0 |
3109 |
BSON_ASSERT (!(bson->flags & BSON_FLAG_RDONLY)); |
315
|
0 |
3109 |
if (BSON_UNLIKELY (!_bson_grow (bson, n_bytes))) { |
330
|
9664 |
3109 |
if (n_pairs) { |
331
|
3107 |
6557 |
data_len = va_arg (args, uint32_t); |
332
|
0 |
9664 |
data = va_arg (args, const uint8_t *); |
334
|
9664 |
3109 |
} while (n_pairs); |
380
|
0 |
3109 |
BSON_ASSERT (n_pairs); |
381
|
0 |
3109 |
BSON_ASSERT (first_len); |
382
|
0 |
3109 |
BSON_ASSERT (first_data); |
389
|
0 |
3109 |
if (BSON_UNLIKELY (n_bytes > (BSON_MAX_SIZE - bson->len))) { |
435
|
0 |
962 |
BSON_ASSERT (!(bson->flags & BSON_FLAG_RDONLY)); |
436
|
0 |
962 |
BSON_ASSERT (!(bson->flags & BSON_FLAG_IN_CHILD)); |
437
|
0 |
962 |
BSON_ASSERT (key); |
438
|
17 |
945 |
BSON_ASSERT ((child_type == BSON_TYPE_DOCUMENT) || |
|
0 |
17 |
BSON_ASSERT ((child_type == BSON_TYPE_DOCUMENT) || |
440
|
0 |
962 |
BSON_ASSERT (child); |
442
|
962 |
0 |
if (key_length < 0) { |
452
|
61 |
901 |
if ((bson->flags & BSON_FLAG_INLINE)) { |
453
|
0 |
61 |
BSON_ASSERT (bson->len <= 120); |
454
|
0 |
61 |
if (!_bson_grow (bson, 128 - bson->len)) { |
457
|
0 |
61 |
BSON_ASSERT (!(bson->flags & BSON_FLAG_INLINE)); |
463
|
0 |
962 |
if (!_bson_append (bson, 4, |
486
|
895 |
67 |
if ((bson->flags & BSON_FLAG_CHILD)) { |
527
|
0 |
756 |
BSON_ASSERT (bson); |
528
|
0 |
756 |
BSON_ASSERT ((bson->flags & BSON_FLAG_IN_CHILD)); |
529
|
0 |
756 |
BSON_ASSERT (!(child->flags & BSON_FLAG_IN_CHILD)); |
584
|
0 |
17 |
BSON_ASSERT (bson); |
585
|
0 |
17 |
BSON_ASSERT (key); |
586
|
0 |
17 |
BSON_ASSERT (child); |
616
|
0 |
16 |
BSON_ASSERT (bson); |
617
|
0 |
16 |
BSON_ASSERT (child); |
653
|
0 |
945 |
BSON_ASSERT (bson); |
654
|
0 |
945 |
BSON_ASSERT (key); |
655
|
0 |
945 |
BSON_ASSERT (child); |
685
|
0 |
740 |
BSON_ASSERT (bson); |
686
|
0 |
740 |
BSON_ASSERT (child); |
719
|
0 |
0 |
BSON_ASSERT (bson); |
720
|
0 |
0 |
BSON_ASSERT (key); |
721
|
0 |
0 |
BSON_ASSERT (array); |
723
|
0 |
0 |
if (key_length < 0) { |
732
|
0 |
0 |
if (array && !bson_empty (array)) { |
|
0 |
0 |
if (array && !bson_empty (array)) { |
|
0 |
0 |
if (array && !bson_empty (array)) { |
735
|
0 |
0 |
if (bson_iter_init (&iter, array) && bson_iter_next (&iter)) { |
|
0 |
0 |
if (bson_iter_init (&iter, array) && bson_iter_next (&iter)) { |
736
|
0 |
0 |
if (0 != strcmp ("0", bson_iter_key (&iter))) { |
790
|
0 |
27 |
BSON_ASSERT (bson); |
791
|
0 |
27 |
BSON_ASSERT (key); |
792
|
0 |
27 |
BSON_ASSERT (binary); |
794
|
27 |
0 |
if (key_length < 0) { |
800
|
2 |
25 |
if (subtype == BSON_SUBTYPE_BINARY_DEPRECATED) { |
854
|
0 |
18 |
BSON_ASSERT (bson); |
855
|
0 |
18 |
BSON_ASSERT (key); |
857
|
18 |
0 |
if (key_length < 0) { |
902
|
0 |
9 |
BSON_ASSERT (bson); |
903
|
0 |
9 |
BSON_ASSERT (key); |
904
|
0 |
9 |
BSON_ASSERT (javascript); |
906
|
9 |
0 |
if (key_length < 0) { |
953
|
0 |
13 |
BSON_ASSERT (bson); |
954
|
0 |
13 |
BSON_ASSERT (key); |
955
|
0 |
13 |
BSON_ASSERT (javascript); |
957
|
13 |
0 |
if (key_length < 0) { |
1008
|
0 |
0 |
BSON_ASSERT (bson); |
1009
|
0 |
0 |
BSON_ASSERT (key); |
1010
|
0 |
0 |
BSON_ASSERT (collection); |
1011
|
0 |
0 |
BSON_ASSERT (oid); |
1013
|
0 |
0 |
if (key_length < 0) { |
1061
|
0 |
104 |
BSON_ASSERT (bson); |
1062
|
0 |
104 |
BSON_ASSERT (key); |
1063
|
0 |
104 |
BSON_ASSERT (value); |
1065
|
104 |
0 |
if (key_length < 0) { |
1086
|
0 |
46 |
BSON_ASSERT (bson); |
1087
|
0 |
46 |
BSON_ASSERT (key); |
1089
|
46 |
0 |
if (key_length < 0) { |
1115
|
0 |
167 |
BSON_ASSERT (bson); |
1116
|
0 |
167 |
BSON_ASSERT (key); |
1118
|
167 |
0 |
if (key_length < 0) { |
1142
|
0 |
20 |
BSON_ASSERT (bson); |
1143
|
0 |
20 |
BSON_ASSERT (key); |
1145
|
20 |
0 |
if (key_length < 0) { |
1169
|
0 |
1512 |
BSON_ASSERT (bson); |
1170
|
0 |
1512 |
BSON_ASSERT (key); |
1171
|
0 |
1512 |
BSON_ASSERT (value); |
1173
|
1512 |
0 |
if (key_length < 0) { |
1197
|
0 |
0 |
BSON_ASSERT (bson); |
1198
|
0 |
0 |
BSON_ASSERT (iter); |
1200
|
0 |
0 |
if (!key) { |
1228
|
0 |
0 |
if (bson_init_static (&doc, buf, len)) { |
1242
|
0 |
0 |
if (bson_init_static (&doc, buf, len)) { |
1322
|
0 |
0 |
if (bson_init_static (&doc, scope, scope_len)) { |
1348
|
0 |
0 |
if (!bson_iter_decimal128 (iter, &dec)) { |
1376
|
0 |
6 |
BSON_ASSERT (bson); |
1377
|
0 |
6 |
BSON_ASSERT (key); |
1379
|
6 |
0 |
if (key_length < 0) { |
1398
|
0 |
6 |
BSON_ASSERT (bson); |
1399
|
0 |
6 |
BSON_ASSERT (key); |
1401
|
6 |
0 |
if (key_length < 0) { |
1420
|
0 |
16 |
BSON_ASSERT (bson); |
1421
|
0 |
16 |
BSON_ASSERT (key); |
1423
|
16 |
0 |
if (key_length < 0) { |
1443
|
0 |
27 |
BSON_ASSERT (bson); |
1444
|
0 |
27 |
BSON_ASSERT (key); |
1445
|
0 |
27 |
BSON_ASSERT (value); |
1447
|
27 |
0 |
if (key_length < 0) { |
1471
|
0 |
25 |
BSON_ASSERT (bson); |
1472
|
0 |
25 |
BSON_ASSERT (key); |
1474
|
25 |
0 |
if (key_length < 0) { |
1478
|
0 |
25 |
if (!regex) { |
1482
|
0 |
25 |
if (!options) { |
1509
|
0 |
121 |
BSON_ASSERT (bson); |
1510
|
0 |
121 |
BSON_ASSERT (key); |
1512
|
0 |
121 |
if (BSON_UNLIKELY (!value)) { |
1516
|
121 |
0 |
if (BSON_UNLIKELY (key_length < 0)) { |
1520
|
0 |
121 |
if (BSON_UNLIKELY (length < 0)) { |
1547
|
0 |
0 |
BSON_ASSERT (bson); |
1548
|
0 |
0 |
BSON_ASSERT (key); |
1550
|
0 |
0 |
if (!value) { |
1554
|
0 |
0 |
if (key_length < 0) { |
1558
|
0 |
0 |
if (length < 0) { |
1587
|
0 |
0 |
BSON_ASSERT (bson); |
1588
|
0 |
0 |
BSON_ASSERT (key); |
1604
|
0 |
10 |
BSON_ASSERT (bson); |
1605
|
0 |
10 |
BSON_ASSERT (key); |
1607
|
10 |
0 |
if (key_length < 0) { |
1628
|
0 |
0 |
BSON_ASSERT (bson); |
1629
|
0 |
0 |
BSON_ASSERT (key); |
1630
|
0 |
0 |
BSON_ASSERT (key_length >= -1); |
1645
|
0 |
18 |
BSON_ASSERT (bson); |
1646
|
0 |
18 |
BSON_ASSERT (key); |
1648
|
18 |
0 |
if (key_length < 0) { |
1671
|
0 |
0 |
BSON_ASSERT (bson); |
1672
|
0 |
0 |
BSON_ASSERT (key); |
1673
|
0 |
0 |
BSON_ASSERT (value); |
1688
|
0 |
0 |
BSON_ASSERT (bson); |
1689
|
0 |
0 |
BSON_ASSERT (key); |
1691
|
0 |
0 |
if (key_length < 0) { |
1712
|
0 |
0 |
BSON_ASSERT (bson); |
1713
|
0 |
0 |
BSON_ASSERT (key); |
1714
|
0 |
0 |
BSON_ASSERT (value); |
1727
|
0 |
0 |
if (bson_init_static (&local, |
1735
|
0 |
0 |
if (bson_init_static (&local, |
1784
|
0 |
0 |
if (bson_init_static (&local, |
1828
|
0 |
106 |
BSON_ASSERT (bson); |
1845
|
0 |
0 |
BSON_ASSERT (bson); |
1867
|
0 |
1908 |
BSON_ASSERT (bson); |
1868
|
0 |
1908 |
BSON_ASSERT (data); |
1870
|
1907 |
1 |
if ((length < 5) || (length > INT_MAX)) { |
|
0 |
1907 |
if ((length < 5) || (length > INT_MAX)) { |
1876
|
10 |
1897 |
if ((size_t)BSON_UINT32_FROM_LE (len_le) != length) { |
1880
|
5 |
1892 |
if (data[length - 1]) { |
1928
|
0 |
106 |
BSON_ASSERT (size <= INT32_MAX); |
1934
|
106 |
0 |
if (size <= sizeof impl_i->data) { |
1967
|
0 |
106 |
BSON_ASSERT (data); |
1969
|
106 |
0 |
if ((length < 5) || (length > INT_MAX) || data [length - 1]) { |
|
106 |
0 |
if ((length < 5) || (length > INT_MAX) || data [length - 1]) { |
|
0 |
106 |
if ((length < 5) || (length > INT_MAX) || data [length - 1]) { |
1975
|
0 |
106 |
if (length != (size_t)BSON_UINT32_FROM_LE (len_le)) { |
1998
|
0 |
0 |
BSON_ASSERT (buf); |
1999
|
0 |
0 |
BSON_ASSERT (buf_len); |
2001
|
0 |
0 |
if (!realloc_func) { |
2008
|
0 |
0 |
if (!*buf) { |
2016
|
0 |
0 |
if ((*buf_len < 5) || (*buf_len > INT_MAX)) { |
|
0 |
0 |
if ((*buf_len < 5) || (*buf_len > INT_MAX)) { |
2025
|
0 |
0 |
if ((*buf)[length - 1]) { |
2046
|
0 |
0 |
BSON_ASSERT (bson); |
2061
|
0 |
0 |
BSON_ASSERT (src); |
2062
|
0 |
0 |
BSON_ASSERT (dst); |
2064
|
0 |
0 |
if ((src->flags & BSON_FLAG_INLINE)) { |
2101
|
0 |
0 |
if (!strcmp (name, exclude)) { |
2105
|
0 |
0 |
} while ((exclude = va_arg (args_copy, const char *))); |
|
0 |
0 |
} while ((exclude = va_arg (args_copy, const char *))); |
2121
|
0 |
0 |
if (bson_iter_init (&iter, src)) { |
2122
|
0 |
0 |
while (bson_iter_next (&iter)) { |
2123
|
0 |
0 |
if (!should_ignore (first_exclude, args, bson_iter_key (&iter))) { |
2124
|
0 |
0 |
if (!bson_append_iter (dst, NULL, 0, &iter)) { |
2146
|
0 |
0 |
BSON_ASSERT (src); |
2147
|
0 |
0 |
BSON_ASSERT (dst); |
2148
|
0 |
0 |
BSON_ASSERT (first_exclude); |
2165
|
0 |
0 |
BSON_ASSERT (src); |
2166
|
0 |
0 |
BSON_ASSERT (dst); |
2167
|
0 |
0 |
BSON_ASSERT (first_exclude); |
2178
|
0 |
2064 |
BSON_ASSERT (bson); |
2180
|
59 |
2005 |
if (!(bson->flags & |
2185
|
2064 |
0 |
if (!(bson->flags & BSON_FLAG_STATIC)) { |
2199
|
0 |
0 |
BSON_ASSERT (dst); |
2200
|
0 |
0 |
BSON_ASSERT (src); |
2204
|
0 |
0 |
if (src->flags & (BSON_FLAG_CHILD | BSON_FLAG_IN_CHILD | BSON_FLAG_RDONLY)) { |
2208
|
0 |
0 |
if (src->flags & BSON_FLAG_INLINE) { |
2224
|
0 |
0 |
if (!(src->flags & BSON_FLAG_STATIC)) { |
2242
|
0 |
0 |
BSON_ASSERT (bson); |
2244
|
0 |
0 |
if (length) { |
2248
|
0 |
0 |
if (!steal) { |
2253
|
0 |
0 |
if ((bson->flags & (BSON_FLAG_CHILD | |
2257
|
0 |
0 |
} else if ((bson->flags & BSON_FLAG_INLINE)) { |
2280
|
0 |
7014 |
BSON_ASSERT (bson); |
2292
|
0 |
0 |
BSON_ASSERT (bson); |
2294
|
0 |
0 |
if (bson_iter_init (&iter, bson)) { |
2295
|
0 |
0 |
while (bson_iter_next (&iter)) { |
2311
|
0 |
0 |
BSON_ASSERT (bson); |
2312
|
0 |
0 |
BSON_ASSERT (key); |
2314
|
0 |
0 |
if (NULL != strchr (key, '.')) { |
2339
|
0 |
0 |
if (len1 == len2) { |
2345
|
0 |
0 |
if (ret == 0) { |
2349
|
0 |
0 |
return (ret < 0) ? -1 : (ret > 0); |
2373
|
0 |
0 |
if (escaped) { |
2532
|
0 |
0 |
bson_string_append (state->str, v_bool ? "true" : "false"); |
2607
|
0 |
0 |
if (v_oid) { |
2656
|
0 |
0 |
if (state->count) { |
2660
|
0 |
0 |
if (state->keys) { |
2662
|
0 |
0 |
if (escaped) { |
2690
|
0 |
0 |
if (escaped) { |
2732
|
0 |
0 |
if (escaped) { |
2783
|
0 |
0 |
if (state->depth >= BSON_MAX_RECURSION) { |
2788
|
0 |
0 |
if (bson_iter_init (&child, v_document)) { |
2811
|
0 |
0 |
if (state->depth >= BSON_MAX_RECURSION) { |
2816
|
0 |
0 |
if (bson_iter_init (&child, v_array)) { |
2836
|
0 |
0 |
BSON_ASSERT (bson); |
2838
|
0 |
0 |
if (length) { |
2842
|
0 |
0 |
if (bson_empty0 (bson)) { |
|
0 |
0 |
if (bson_empty0 (bson)) { |
|
0 |
0 |
if (bson_empty0 (bson)) { |
2843
|
0 |
0 |
if (length) { |
2850
|
0 |
0 |
if (!bson_iter_init (&iter, bson)) { |
2859
|
0 |
0 |
if (bson_iter_visit_all (&iter, &bson_as_json_visitors, &state) || |
|
0 |
0 |
if (bson_iter_visit_all (&iter, &bson_as_json_visitors, &state) || |
2865
|
0 |
0 |
if (length) { |
2873
|
0 |
0 |
if (length) { |
2888
|
0 |
0 |
BSON_ASSERT (bson); |
2890
|
0 |
0 |
if (length) { |
2894
|
0 |
0 |
if (bson_empty0 (bson)) { |
|
0 |
0 |
if (bson_empty0 (bson)) { |
|
0 |
0 |
if (bson_empty0 (bson)) { |
2895
|
0 |
0 |
if (length) { |
2902
|
0 |
0 |
if (!bson_iter_init (&iter, bson)) { |
2912
|
0 |
0 |
if (bson_iter_visit_all (&iter, &bson_as_json_visitors, &state) || |
|
0 |
0 |
if (bson_iter_visit_all (&iter, &bson_as_json_visitors, &state) || |
2918
|
0 |
0 |
if (length) { |
2926
|
0 |
0 |
if (length) { |
2944
|
0 |
97 |
if ((state->flags & BSON_VALIDATE_UTF8)) { |
2947
|
0 |
0 |
if (!bson_utf8_validate (v_utf8, v_utf8_len, allow_null)) { |
2953
|
0 |
97 |
if ((state->flags & BSON_VALIDATE_DOLLAR_KEYS)) { |
2954
|
0 |
0 |
if (state->phase == BSON_VALIDATE_PHASE_LF_REF_UTF8) { |
2956
|
0 |
0 |
} else if (state->phase == BSON_VALIDATE_PHASE_LF_DB_UTF8) { |
2982
|
0 |
1873 |
if ((state->flags & BSON_VALIDATE_DOLLAR_KEYS)) { |
2983
|
0 |
0 |
if (key[0] == '$') { |
2984
|
0 |
0 |
if (state->phase == BSON_VALIDATE_PHASE_LF_REF_KEY && |
|
0 |
0 |
if (state->phase == BSON_VALIDATE_PHASE_LF_REF_KEY && |
2987
|
0 |
0 |
} else if (state->phase == BSON_VALIDATE_PHASE_LF_ID_KEY && |
|
0 |
0 |
} else if (state->phase == BSON_VALIDATE_PHASE_LF_ID_KEY && |
2990
|
0 |
0 |
} else if (state->phase == BSON_VALIDATE_PHASE_LF_DB_KEY && |
|
0 |
0 |
} else if (state->phase == BSON_VALIDATE_PHASE_LF_DB_KEY && |
2997
|
0 |
0 |
} else if (state->phase == BSON_VALIDATE_PHASE_LF_ID_KEY || |
|
0 |
0 |
} else if (state->phase == BSON_VALIDATE_PHASE_LF_ID_KEY || |
2998
|
0 |
0 |
state->phase == BSON_VALIDATE_PHASE_LF_REF_UTF8 || |
3007
|
0 |
1873 |
if ((state->flags & BSON_VALIDATE_DOT_KEYS)) { |
3008
|
0 |
0 |
if (strstr (key, ".")) { |
3029
|
1 |
13 |
if (!bson_validate (v_scope, state->flags, &offset, NULL, NULL)) { |
3094
|
0 |
1879 |
if (!bson_iter_init (&child, v_document)) { |
3099
|
1621 |
258 |
if (state->phase == BSON_VALIDATE_PHASE_START) { |
3107
|
1879 |
0 |
if (state->phase == BSON_VALIDATE_PHASE_LF_ID_KEY || |
|
1879 |
0 |
if (state->phase == BSON_VALIDATE_PHASE_LF_ID_KEY || |
3108
|
0 |
1879 |
state->phase == BSON_VALIDATE_PHASE_LF_REF_UTF8 || |
3130
|
0 |
1621 |
if (!bson_iter_init (&iter, bson)) { |
3139
|
1621 |
0 |
if (offset) { |
3142
|
1607 |
14 |
if (invalid_key) { |
3145
|
1607 |
14 |
if (invalid_type) { |
3157
|
0 |
2 |
BSON_ASSERT (dst); |
3158
|
0 |
2 |
BSON_ASSERT (src); |
3160
|
2 |
0 |
if (!bson_empty (src)) { |
|
2 |
0 |
if (!bson_empty (src)) { |