line |
true |
false |
branch |
227
|
179398 |
109 |
if (opt != NULL) { |
228
|
2 |
179396 |
my_hv_fetchs(he,val,opt, SRL_DEC_OPT_IDX_REFUSE_SNAPPY); |
229
|
2 |
179396 |
if ( val && SvTRUE(val) ) |
|
2 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
2 |
if ( val && SvTRUE(val) ) |
|
0 |
2 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
2 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
2 |
0 |
if ( val && SvTRUE(val) ) |
|
2 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
2 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
2 |
0 |
if ( val && SvTRUE(val) ) |
232
|
0 |
179398 |
my_hv_fetchs(he,val,opt, SRL_DEC_OPT_IDX_REFUSE_ZLIB); |
233
|
0 |
179398 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
236
|
0 |
179398 |
my_hv_fetchs(he,val,opt, SRL_DEC_OPT_IDX_REFUSE_ZSTD); |
237
|
0 |
179398 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
240
|
2 |
179396 |
my_hv_fetchs(he,val,opt, SRL_DEC_OPT_IDX_REFUSE_OBJECTS); |
241
|
2 |
179396 |
if ( val && SvTRUE(val) ) |
|
2 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
2 |
if ( val && SvTRUE(val) ) |
|
0 |
2 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
2 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
2 |
0 |
if ( val && SvTRUE(val) ) |
|
2 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
2 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
2 |
0 |
if ( val && SvTRUE(val) ) |
244
|
1 |
179397 |
my_hv_fetchs(he,val,opt, SRL_DEC_OPT_IDX_NO_BLESS_OBJECTS); |
245
|
1 |
179397 |
if ( val && SvTRUE(val) ) |
|
1 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
1 |
if ( val && SvTRUE(val) ) |
|
0 |
1 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
1 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
1 |
0 |
if ( val && SvTRUE(val) ) |
|
1 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
1 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
1 |
0 |
if ( val && SvTRUE(val) ) |
248
|
12 |
179386 |
my_hv_fetchs(he,val,opt, SRL_DEC_OPT_IDX_VALIDATE_UTF8); |
249
|
12 |
179386 |
if ( val && SvTRUE(val) ) |
|
12 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
12 |
if ( val && SvTRUE(val) ) |
|
0 |
12 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
12 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
12 |
0 |
if ( val && SvTRUE(val) ) |
|
12 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
12 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
12 |
0 |
if ( val && SvTRUE(val) ) |
252
|
2 |
179396 |
my_hv_fetchs(he,val,opt, SRL_DEC_OPT_IDX_MAX_RECURSION_DEPTH); |
253
|
2 |
179396 |
if ( val && SvTRUE(val) ) |
|
2 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
2 |
if ( val && SvTRUE(val) ) |
|
0 |
2 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
2 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
2 |
0 |
if ( val && SvTRUE(val) ) |
|
2 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
2 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
2 |
0 |
if ( val && SvTRUE(val) ) |
254
|
0 |
2 |
dec->max_recursion_depth = SvUV(val); |
256
|
6 |
179392 |
my_hv_fetchs(he,val,opt, SRL_DEC_OPT_IDX_MAX_NUM_HASH_ENTRIES); |
257
|
6 |
179392 |
if ( val && SvTRUE(val) ) |
|
6 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
6 |
if ( val && SvTRUE(val) ) |
|
0 |
6 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
6 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
6 |
0 |
if ( val && SvTRUE(val) ) |
|
6 |
0 |
if ( val && SvTRUE(val) ) |
|
1 |
5 |
if ( val && SvTRUE(val) ) |
|
0 |
1 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
5 |
1 |
if ( val && SvTRUE(val) ) |
258
|
0 |
5 |
dec->max_num_hash_entries = SvUV(val); |
260
|
2 |
179396 |
my_hv_fetchs(he,val,opt, SRL_DEC_OPT_IDX_DESTRUCTIVE_INCREMENTAL); |
261
|
2 |
179396 |
if ( val && SvTRUE(val) ) |
|
2 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
2 |
if ( val && SvTRUE(val) ) |
|
0 |
2 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
2 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
2 |
0 |
if ( val && SvTRUE(val) ) |
|
2 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
2 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
0 |
0 |
if ( val && SvTRUE(val) ) |
|
2 |
0 |
if ( val && SvTRUE(val) ) |
269
|
2 |
179396 |
my_hv_fetchs(he,val,opt, SRL_DEC_OPT_IDX_ALIAS_VARINT_UNDER); |
270
|
2 |
179396 |
if ( val && SvTRUE(val)) { |
|
2 |
0 |
if ( val && SvTRUE(val)) { |
|
0 |
2 |
if ( val && SvTRUE(val)) { |
|
0 |
2 |
if ( val && SvTRUE(val)) { |
|
0 |
0 |
if ( val && SvTRUE(val)) { |
|
0 |
0 |
if ( val && SvTRUE(val)) { |
|
0 |
2 |
if ( val && SvTRUE(val)) { |
|
0 |
0 |
if ( val && SvTRUE(val)) { |
|
0 |
0 |
if ( val && SvTRUE(val)) { |
|
0 |
0 |
if ( val && SvTRUE(val)) { |
|
0 |
0 |
if ( val && SvTRUE(val)) { |
|
2 |
0 |
if ( val && SvTRUE(val)) { |
|
2 |
0 |
if ( val && SvTRUE(val)) { |
|
0 |
2 |
if ( val && SvTRUE(val)) { |
|
0 |
0 |
if ( val && SvTRUE(val)) { |
|
0 |
0 |
if ( val && SvTRUE(val)) { |
|
2 |
0 |
if ( val && SvTRUE(val)) { |
275
|
0 |
2 |
if (SvUV(val) < 16) { |
|
0 |
2 |
if (SvUV(val) < 16) { |
281
|
0 |
2 |
dec->alias_varint_under= SvUV(val); |
287
|
179396 |
2 |
if ( !SRL_DEC_HAVE_OPTION(dec,SRL_F_DECODER_ALIAS_SMALLINT) ) { |
288
|
1 |
179395 |
my_hv_fetchs(he,val,opt, SRL_DEC_OPT_IDX_ALIAS_SMALLINT); |
289
|
1 |
179395 |
if (val && SvTRUE(val)) |
|
1 |
0 |
if (val && SvTRUE(val)) |
|
0 |
1 |
if (val && SvTRUE(val)) |
|
0 |
1 |
if (val && SvTRUE(val)) |
|
0 |
0 |
if (val && SvTRUE(val)) |
|
0 |
0 |
if (val && SvTRUE(val)) |
|
0 |
1 |
if (val && SvTRUE(val)) |
|
0 |
0 |
if (val && SvTRUE(val)) |
|
0 |
0 |
if (val && SvTRUE(val)) |
|
0 |
0 |
if (val && SvTRUE(val)) |
|
0 |
0 |
if (val && SvTRUE(val)) |
|
1 |
0 |
if (val && SvTRUE(val)) |
|
1 |
0 |
if (val && SvTRUE(val)) |
|
0 |
1 |
if (val && SvTRUE(val)) |
|
0 |
0 |
if (val && SvTRUE(val)) |
|
0 |
0 |
if (val && SvTRUE(val)) |
|
1 |
0 |
if (val && SvTRUE(val)) |
299
|
3 |
179395 |
if (dec->alias_varint_under) { |
309
|
0 |
179398 |
my_hv_fetchs(he,val,opt, SRL_DEC_OPT_IDX_USE_UNDEF); |
310
|
0 |
179398 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
314
|
12445 |
166953 |
my_hv_fetchs(he,val,opt, SRL_DEC_OPT_IDX_SET_READONLY); |
315
|
12445 |
166953 |
if ( val && SvTRUE(val)) |
|
12445 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
12445 |
if ( val && SvTRUE(val)) |
|
0 |
12445 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
12445 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
12445 |
0 |
if ( val && SvTRUE(val)) |
|
12445 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
12445 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
12445 |
0 |
if ( val && SvTRUE(val)) |
319
|
6 |
179392 |
my_hv_fetchs(he,val,opt, SRL_DEC_OPT_IDX_SET_READONLY_SCALARS); |
320
|
6 |
179392 |
if ( val && SvTRUE(val)) |
|
6 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
6 |
if ( val && SvTRUE(val)) |
|
0 |
6 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
6 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
6 |
0 |
if ( val && SvTRUE(val)) |
|
6 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
6 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
0 |
0 |
if ( val && SvTRUE(val)) |
|
6 |
0 |
if ( val && SvTRUE(val)) |
324
|
167062 |
12445 |
dec->flags_readonly= SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_SET_READONLY ) ? 1 : |
|
6 |
167056 |
dec->flags_readonly= SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_SET_READONLY ) ? 1 : |
342
|
0 |
1 |
if (proto->alias_cache) { |
360
|
5223 |
174285 |
if (dec->ref_stashes) { |
364
|
3 |
179505 |
if (dec->weakref_av) { |
368
|
0 |
179508 |
if (dec->ref_thawhash) |
370
|
3 |
179505 |
if (dec->alias_cache) |
386
|
179345 |
685795 |
if (!SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_REUSE)) { |
404
|
58322 |
644329 |
if (expect_false( SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_DECOMPRESS_SNAPPY) )) { |
407
|
20143 |
624186 |
} else if (expect_false( SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_DECOMPRESS_ZLIB) )) { |
410
|
9536 |
614650 |
} else if (expect_false( SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_DECOMPRESS_ZSTD) )) { |
416
|
48771 |
653880 |
SRL_RDR_UPDATE_BODY_POS(dec->pbuf, dec->proto_version); |
420
|
20164 |
682473 |
if (expect_false(SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_NEEDS_FINALIZE))) { |
426
|
614635 |
88002 |
if (dec->bytes_consumed == 0) { |
431
|
10 |
702627 |
if (SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_DESTRUCTIVE_INCREMENTAL)) { |
433
|
10 |
0 |
char *pv= SvPV(src,len); |
448
|
0 |
162480 |
if (header_into == NULL) |
466
|
179288 |
523372 |
if (expect_true(!body_into)) |
488
|
523305 |
865127 |
if (dec->buf.start == dec->buf.end) |
501
|
15 |
1027472 |
if (dec->weakref_av) |
505
|
778326 |
249161 |
if (dec->ref_stashes) { |
522
|
1 |
865139 |
if (SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_DIRTY)) { |
537
|
3 |
865137 |
if (SvUTF8(src)) { |
546
|
2 |
1 |
if ( ! SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_DESTRUCTIVE_INCREMENTAL) ) { |
552
|
865140 |
0 |
tmp = (unsigned char*)SvPV(src, len); |
553
|
0 |
865140 |
if (expect_false( start_offset > len )) { |
576
|
7 |
865133 |
if ( expect_false(proto_version_and_encoding_flags_int < 1) ) { |
577
|
2 |
5 |
if (proto_version_and_encoding_flags_int == 0) |
588
|
48773 |
816360 |
if (expect_false( dec->proto_version == 1 )) |
590
|
816360 |
0 |
else if (expect_false( dec->proto_version > SRL_PROTOCOL_VERSION || dec->proto_version < 1 )) |
|
0 |
816360 |
else if (expect_false( dec->proto_version > SRL_PROTOCOL_VERSION || dec->proto_version < 1 )) |
|
0 |
816360 |
else if (expect_false( dec->proto_version > SRL_PROTOCOL_VERSION || dec->proto_version < 1 )) |
593
|
88003 |
777130 |
if (dec->encoding_flags == SRL_PROTOCOL_ENCODING_RAW) { |
597
|
81521 |
6482 |
if ( dec->encoding_flags == SRL_PROTOCOL_ENCODING_SNAPPY |
598
|
51842 |
29679 |
|| dec->encoding_flags == SRL_PROTOCOL_ENCODING_SNAPPY_INCREMENTAL) |
600
|
2 |
58322 |
if (expect_false( SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_REFUSE_SNAPPY) )) { |
607
|
20143 |
9536 |
if (dec->encoding_flags == SRL_PROTOCOL_ENCODING_ZLIB) |
609
|
0 |
20143 |
if (expect_false( SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_REFUSE_ZLIB) )) { |
616
|
9536 |
0 |
if (dec->encoding_flags == SRL_PROTOCOL_ENCODING_ZSTD) |
618
|
0 |
9536 |
if (expect_false( SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_REFUSE_ZSTD) )) { |
633
|
816360 |
48771 |
if (dec->proto_version > 1 && header_len) { |
|
324840 |
491520 |
if (dec->proto_version > 1 && header_len) { |
641
|
0 |
324840 |
SRL_RDR_ASSERT_SPACE(dec->pbuf, 1, " while reading header flags"); |
644
|
324840 |
0 |
if (bitfield & SRL_PROTOCOL_HDR_USER_DATA && header_user_data != NULL) { |
|
162360 |
162480 |
if (bitfield & SRL_PROTOCOL_HDR_USER_DATA && header_user_data != NULL) { |
646
|
0 |
162360 |
SRL_RDR_UPDATE_BODY_POS(dec->pbuf, dec->proto_version); |
648
|
4680 |
157680 |
if (expect_false(SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_NEEDS_FINALIZE))) { |
655
|
162480 |
0 |
SRL_RDR_ASSERT_SPACE(dec->pbuf, header_len, " while reading header packet"); |
|
0 |
162480 |
SRL_RDR_ASSERT_SPACE(dec->pbuf, header_len, " while reading header packet"); |
|
0 |
162480 |
SRL_RDR_ASSERT_SPACE(dec->pbuf, header_len, " while reading header packet"); |
672
|
11 |
24833 |
if (dec->weakref_av) |
674
|
24841 |
3 |
if (dec->ref_stashes) { |
682
|
25477 |
24841 |
while ( NULL != (ent = PTABLE_iter_next(it)) ) { |
686
|
25477 |
0 |
if (expect_false( !stash || !ref_bless_av )) { |
|
0 |
25477 |
if (expect_false( !stash || !ref_bless_av )) { |
|
0 |
25477 |
if (expect_false( !stash || !ref_bless_av )) { |
690
|
26122 |
25477 |
for( len= av_len(ref_bless_av) + 1 ; len > 0 ; len-- ) { |
692
|
26122 |
0 |
if (SvREFCNT(obj)>1) { |
700
|
26122 |
0 |
if (expect_true( obj )) { |
704
|
26121 |
1 |
if (!nobless) { |
705
|
1853 |
24268 |
if ( SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_READONLY_FLAGS) && SvREADONLY(SvRV(obj))) { |
|
1852 |
1 |
if ( SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_READONLY_FLAGS) && SvREADONLY(SvRV(obj))) { |
736
|
0 |
0 |
if (!dec->ref_thawhash) |
745
|
0 |
218167 |
if (dec->ref_thawhash) { |
765
|
1 |
314852 |
if (expect_false( !sv )) { |
785
|
365 |
182 |
if (!av_array[ofs] || av_array[ofs] == &PL_sv_undef) { |
|
0 |
365 |
if (!av_array[ofs] || av_array[ofs] == &PL_sv_undef) { |
797
|
547 |
0 |
if (*container && *container != &PL_sv_undef) |
|
547 |
0 |
if (*container && *container != &PL_sv_undef) |
800
|
3 |
544 |
if (track_it) |
809
|
518225 |
107697 |
if ( expect_false( container && IS_IV_ALIAS(dec,iv) )) { |
|
547 |
517678 |
if ( expect_false( container && IS_IV_ALIAS(dec,iv) )) { |
|
547 |
0 |
if ( expect_false( container && IS_IV_ALIAS(dec,iv) )) { |
|
547 |
0 |
if ( expect_false( container && IS_IV_ALIAS(dec,iv) )) { |
|
547 |
625375 |
if ( expect_false( container && IS_IV_ALIAS(dec,iv) )) { |
817
|
625364 |
11 |
if ( SvTYPE(into) == SVt_NULL ) { |
842
|
287743 |
43248 |
if (expect_true(uv <= (UV)IV_MAX)) { |
872
|
101859 |
422180 |
if (expect_false(is_utf8 && SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_VALIDATE_UTF8))) { |
|
9 |
101850 |
if (expect_false(is_utf8 && SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_VALIDATE_UTF8))) { |
|
9 |
524030 |
if (expect_false(is_utf8 && SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_VALIDATE_UTF8))) { |
874
|
3 |
6 |
if (expect_false( !is_utf8_string((U8*)dec->buf.pos, len) )) { |
879
|
101856 |
422180 |
if (is_utf8) { |
904
|
0 |
10812 |
SRL_RDR_ASSERT_SPACE(dec->pbuf, sizeof(float), " while reading FLOAT"); |
919
|
0 |
152640 |
SRL_RDR_ASSERT_SPACE(dec->pbuf, sizeof(double), " while reading DOUBLE"); |
934
|
0 |
0 |
SRL_RDR_ASSERT_SPACE(dec->pbuf, sizeof(long double), " while reading LONG_DOUBLE"); |
948
|
465157 |
320832 |
if (tag) { |
951
|
465121 |
36 |
SRL_sv_set_rv_to(into, referent); |
|
465120 |
1 |
SRL_sv_set_rv_to(into, referent); |
|
36 |
1 |
SRL_sv_set_rv_to(into, referent); |
|
0 |
36 |
SRL_sv_set_rv_to(into, referent); |
|
0 |
0 |
SRL_sv_set_rv_to(into, referent); |
|
0 |
0 |
SRL_sv_set_rv_to(into, referent); |
|
0 |
0 |
SRL_sv_set_rv_to(into, referent); |
953
|
1 |
465156 |
DEPTH_INCREMENT(dec); |
956
|
320832 |
0 |
(void)SvUPGRADE(into, SVt_PVAV); |
959
|
763066 |
22922 |
if (len) { |
963
|
763066 |
0 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,len," while reading array contents, insufficient remaining tags for specified array size"); |
|
0 |
763066 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,len," while reading array contents, insufficient remaining tags for specified array size"); |
|
0 |
763066 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,len," while reading array contents, insufficient remaining tags for specified array size"); |
973
|
1860143 |
762065 |
for ( ; av_array < av_end ; av_array++) { |
978
|
464155 |
320832 |
if (tag) |
997
|
131909 |
95648 |
if (tag) { |
1000
|
131900 |
9 |
SRL_sv_set_rv_to(into, referent); |
|
131900 |
0 |
SRL_sv_set_rv_to(into, referent); |
|
9 |
0 |
SRL_sv_set_rv_to(into, referent); |
|
3 |
6 |
SRL_sv_set_rv_to(into, referent); |
|
0 |
3 |
SRL_sv_set_rv_to(into, referent); |
|
0 |
0 |
SRL_sv_set_rv_to(into, referent); |
|
0 |
0 |
SRL_sv_set_rv_to(into, referent); |
1002
|
0 |
131909 |
DEPTH_INCREMENT(dec); |
1005
|
95648 |
0 |
(void)SvUPGRADE(into, SVt_PVHV); |
1014
|
5 |
227552 |
if (expect_false( dec->max_num_hash_entries != 0 && num_keys > dec->max_num_hash_entries )) { |
|
4 |
1 |
if (expect_false( dec->max_num_hash_entries != 0 && num_keys > dec->max_num_hash_entries )) { |
|
4 |
227553 |
if (expect_false( dec->max_num_hash_entries != 0 && num_keys > dec->max_num_hash_entries )) { |
1019
|
227553 |
0 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,num_keys*2," while reading hash contents, insufficient remaining tags for number of keys specified"); |
|
0 |
227553 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,num_keys*2," while reading hash contents, insufficient remaining tags for number of keys specified"); |
|
0 |
227553 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,num_keys*2," while reading hash contents, insufficient remaining tags for number of keys specified"); |
1026
|
644713 |
227552 |
for (; num_keys > 0 ; num_keys--) { |
1035
|
0 |
644713 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,1," while reading key tag byte for HASH"); |
1037
|
618105 |
26608 |
if (IS_SRL_HDR_SHORT_BINARY(tag)) { |
1039
|
618105 |
0 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,key_len," while reading string/SHORT_BINARY key"); |
|
0 |
618105 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,key_len," while reading string/SHORT_BINARY key"); |
|
0 |
618105 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,key_len," while reading string/SHORT_BINARY key"); |
1042
|
12398 |
14210 |
} else if (tag == SRL_HDR_BINARY) { |
1044
|
12398 |
0 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,key_len," while reading binary key"); |
|
0 |
12398 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,key_len," while reading binary key"); |
|
0 |
12398 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,key_len," while reading binary key"); |
1047
|
3 |
14207 |
} else if (tag == SRL_HDR_STR_UTF8) { |
1049
|
3 |
0 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,key_len," while reading string key"); |
|
0 |
3 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,key_len," while reading string key"); |
|
0 |
3 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,key_len," while reading string key"); |
1057
|
14207 |
0 |
} else if (tag == SRL_HDR_COPY) { |
1063
|
14207 |
0 |
if (IS_SRL_HDR_SHORT_BINARY(tag)) { |
1067
|
0 |
0 |
if (tag == SRL_HDR_BINARY) { |
1074
|
0 |
0 |
if (tag == SRL_HDR_STR_UTF8) { |
1091
|
1 |
644712 |
if (SvREADONLY(into)) { |
1099
|
0 |
644713 |
if (expect_false( !fetched_sv )) { |
1103
|
0 |
644713 |
if ( expect_false( SvTYPE(*fetched_sv) != SVt_NULL ) ) { |
1109
|
131908 |
95644 |
if (tag) |
1119
|
0 |
955869 |
SRL_RDR_ASSERT_SPACE(dec->pbuf, 1, " while reading REFN referent"); |
1121
|
1 |
955868 |
if (tag == SRL_HDR_TRUE) { |
1125
|
1 |
955867 |
else if (tag == SRL_HDR_FALSE) { |
1138
|
932016 |
23851 |
if ( |
1140
|
0 |
932016 |
|| |
1141
|
0 |
0 |
( SRL_DEC_HAVE_OPTION(dec,SRL_F_DECODER_USE_UNDEF) && tag == SRL_HDR_UNDEF ) |
1151
|
955849 |
20 |
SRL_sv_set_rv_to(into, referent); |
|
955838 |
11 |
SRL_sv_set_rv_to(into, referent); |
|
20 |
11 |
SRL_sv_set_rv_to(into, referent); |
|
3 |
17 |
SRL_sv_set_rv_to(into, referent); |
|
0 |
3 |
SRL_sv_set_rv_to(into, referent); |
|
0 |
0 |
SRL_sv_set_rv_to(into, referent); |
|
0 |
0 |
SRL_sv_set_rv_to(into, referent); |
1152
|
932016 |
23853 |
if (!tag) { |
1153
|
0 |
932016 |
DEPTH_INCREMENT(dec); |
1205
|
0 |
218167 |
if (thawed) { |
1218
|
218167 |
0 |
SRL_sv_set_rv_to(into, referent); |
|
218167 |
0 |
SRL_sv_set_rv_to(into, referent); |
|
0 |
0 |
SRL_sv_set_rv_to(into, referent); |
|
0 |
0 |
SRL_sv_set_rv_to(into, referent); |
|
0 |
0 |
SRL_sv_set_rv_to(into, referent); |
|
0 |
0 |
SRL_sv_set_rv_to(into, referent); |
|
0 |
0 |
SRL_sv_set_rv_to(into, referent); |
1238
|
0 |
13 |
if (expect_false( !SvROK(into) )) |
1250
|
3 |
10 |
if (expect_true( SvREFCNT(referent)==1 )) { |
1251
|
3 |
0 |
if (expect_false( !dec->weakref_av )) |
1258
|
2 |
11 |
if ( SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_READONLY_FLAGS) && SvREADONLY(into)) { |
|
1 |
1 |
if ( SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_READONLY_FLAGS) && SvREADONLY(into)) { |
1273
|
0 |
645 |
if (expect_false( SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_REFUSE_OBJECTS) )) |
1278
|
0 |
645 |
if (expect_false( !dec->ref_bless_av )) { |
1288
|
0 |
645 |
if (expect_false( NULL == av )) { |
1297
|
0 |
645 |
if (expect_false( obj_tag == SRL_HDR_OBJECTV_FREEZE )) { |
1299
|
0 |
0 |
if (expect_false( class_stash == NULL )) |
1337
|
2 |
25479 |
if (expect_false( SRL_DEC_HAVE_OPTION(dec, SRL_F_DECODER_REFUSE_OBJECTS) )) |
1345
|
0 |
25479 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,1," while reading classname tag"); |
1351
|
25477 |
2 |
if (IS_SRL_HDR_SHORT_BINARY(tag)) { |
1354
|
0 |
25477 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,key_len," while reading short binary"); |
1358
|
0 |
2 |
if (tag == SRL_HDR_STR_UTF8) { |
1362
|
0 |
0 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,key_len," while reading utf8 string"); |
1366
|
1 |
1 |
if (tag == SRL_HDR_BINARY) { |
1369
|
0 |
1 |
SRL_RDR_ASSERT_SPACE(dec->pbuf,key_len," while reading binary"); |
1373
|
1 |
0 |
if (tag == SRL_HDR_COPY) { |
1381
|
0 |
1 |
if (expect_true( dec->ref_stashes != NULL )) { |
1386
|
1 |
0 |
if (!class_stash) { |
1391
|
0 |
1 |
if (IS_SRL_HDR_SHORT_BINARY(tag)) { |
1395
|
0 |
1 |
if (tag == SRL_HDR_BINARY) { |
1402
|
0 |
1 |
if (tag == SRL_HDR_STR_UTF8) { |
1408
|
0 |
0 |
if (!is_utf8_string(from, key_len)) { |
1422
|
5223 |
20255 |
SRL_ASSERT_REF_PTR_TABLES(dec); |
1423
|
25478 |
0 |
if (!class_stash) { |
1436
|
0 |
0 |
if ( !av ) |
1450
|
1 |
25477 |
if (expect_false( obj_tag == SRL_HDR_OBJECT_FREEZE )) { |
1481
|
1 |
0 |
char *classname = HvNAME(class_stash); |
|
1 |
0 |
char *classname = HvNAME(class_stash); |
|
0 |
1 |
char *classname = HvNAME(class_stash); |
|
0 |
0 |
char *classname = HvNAME(class_stash); |
|
1 |
0 |
char *classname = HvNAME(class_stash); |
|
0 |
1 |
char *classname = HvNAME(class_stash); |
1494
|
0 |
1 |
if (expect_false( method == NULL )) |
1495
|
0 |
0 |
SRL_RDR_ERRORf1(dec->pbuf, "No THAW method defined for class '%s'", HvNAME(class_stash)); |
|
0 |
0 |
SRL_RDR_ERRORf1(dec->pbuf, "No THAW method defined for class '%s'", HvNAME(class_stash)); |
|
0 |
0 |
SRL_RDR_ERRORf1(dec->pbuf, "No THAW method defined for class '%s'", HvNAME(class_stash)); |
|
0 |
0 |
SRL_RDR_ERRORf1(dec->pbuf, "No THAW method defined for class '%s'", HvNAME(class_stash)); |
|
0 |
0 |
SRL_RDR_ERRORf1(dec->pbuf, "No THAW method defined for class '%s'", HvNAME(class_stash)); |
|
0 |
0 |
SRL_RDR_ERRORf1(dec->pbuf, "No THAW method defined for class '%s'", HvNAME(class_stash)); |
1502
|
1 |
0 |
if (expect_false( !SvROK(into) || SvTYPE(SvRV(into)) != SVt_PVAV )) |
|
0 |
1 |
if (expect_false( !SvROK(into) || SvTYPE(SvRV(into)) != SVt_PVAV )) |
|
0 |
1 |
if (expect_false( !SvROK(into) || SvTYPE(SvRV(into)) != SVt_PVAV )) |
1514
|
0 |
1 |
PUSHMARK(SP); |
1516
|
0 |
1 |
EXTEND(SP, 3); |
1522
|
1 |
1 |
for (count=0 ; count < arg_av_len; count++) { |
1531
|
1 |
0 |
if (expect_true( count == 1 )) { |
1540
|
1 |
0 |
FREETMPS; |
1549
|
1 |
0 |
if (SvROK(replacement)) { |
1557
|
0 |
1 |
if (*fixup_pos & SRL_HDR_TRACK_FLAG) |
1559
|
0 |
0 |
} else if (*fixup_pos & SRL_HDR_TRACK_FLAG) { |
1582
|
0 |
17184 |
SRL_RDR_ASSERT_SPACE(dec->pbuf, 1, " while reading regexp modifer tag"); |
1586
|
17184 |
0 |
if ( expect_true( IS_SRL_HDR_SHORT_BINARY(*dec->buf.pos) ) ) { |
1589
|
0 |
17184 |
SRL_RDR_ASSERT_SPACE(dec->pbuf, mod_len, " while reading regexp modifiers"); |
1590
|
5733 |
17184 |
while (mod_len > 0) { |
1692
|
0 |
19800 |
if (expect_false( dec->save_pos )) { |
1695
|
0 |
19800 |
if (expect_false( (IV)item > dec->buf.end - dec->buf.start )) { |
1726
|
0 |
4365006 |
if (expect_false( SRL_RDR_DONE(dec->pbuf) )) |
1741
|
608933 |
0 |
SRL_RDR_ASSERT_SPACE(dec->pbuf, len, " while reading ascii string"); |
|
0 |
608933 |
SRL_RDR_ASSERT_SPACE(dec->pbuf, len, " while reading ascii string"); |
|
0 |
608933 |
SRL_RDR_ASSERT_SPACE(dec->pbuf, len, " while reading ascii string"); |
1760
|
42882 |
9128 |
if (container && SRL_DEC_HAVE_OPTION(dec,SRL_F_DECODER_USE_UNDEF)){ |
|
0 |
42882 |
if (container && SRL_DEC_HAVE_OPTION(dec,SRL_F_DECODER_USE_UNDEF)){ |
1763
|
0 |
0 |
if ( track_it ) |
1790
|
0 |
96686 |
if (!container) |
1800
|
0 |
96685 |
if (track_it) |
1806
|
3 |
0 |
while (SRL_RDR_NOT_DONE(dec->pbuf) && *dec->buf.pos == SRL_HDR_PAD) |
|
0 |
3 |
while (SRL_RDR_NOT_DONE(dec->pbuf) && *dec->buf.pos == SRL_HDR_PAD) |
1811
|
225330 |
2 |
if (tag & SRL_HDR_TRACK_FLAG) { |
1825
|
317166 |
3950132 |
if ( expect_false(dec->flags_readonly) ) |
1827
|
35 |
317131 |
if ( |
1828
|
17 |
18 |
dec->flags_readonly == 1 || !is_ref |
1830
|
135154 |
181994 |
if (is_ref && !SvREADONLY(SvRV(into)) ) { |
|
62592 |
72562 |
if (is_ref && !SvREADONLY(SvRV(into)) ) { |
1833
|
315253 |
1895 |
if (!SvREADONLY(into)) { |