extlz4 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -11
- data/ext/blockapi.c +0 -35
- data/ext/frameapi.c +0 -11
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 826b3cefef1cfe6adf9a63fe90eaf61d93d33a2889727eff519fe6dc58a1c76e
|
4
|
+
data.tar.gz: 9973dfeb967f847eace7c50e47e546e2148ae1e54ea9677285ec42a556f0012f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '058521efb2e6a1940702f6ba4121e936f8fce02e6073f58ce32610330202e5afa9c0d427e6cabd9fa2be28434231b2bf2f1ab2c75a464ea2aea7067bae343493'
|
7
|
+
data.tar.gz: e3242ed13ea347b8a992fdb865640ba83b4a3accb1925bb4f1ec05caa59898e3a6113acb75d115bd9ecc2c1f3e36b94e279fdeb61bcc7189f9104672a8250157
|
data/README.md
CHANGED
@@ -59,16 +59,6 @@ extlz4-0.1.1 でその不具合の修正を行いました。
|
|
59
59
|
修復できるのはあくまで extlz4-0.1 のこの不具合に起因するファイルのみとなります。
|
60
60
|
|
61
61
|
|
62
|
-
## ABOUT TAINT STATE AND SECURITY (汚染状態とセキュリティについて)
|
63
|
-
|
64
|
-
extlz4 はオブジェクト間での汚染状態を一方向伝播します。
|
65
|
-
|
66
|
-
オブジェクトの汚染伝播については『入力 -> 出力』となり、
|
67
|
-
ストリーム処理の場合は『入力 -> 圧縮器・伸張器 -> 出力』というようになります。
|
68
|
-
|
69
|
-
セキュリティレベルによる処理の拒否は行いません。
|
70
|
-
|
71
|
-
|
72
62
|
## EXAMPLES (用例)
|
73
63
|
|
74
64
|
First, load extlz4. (最初に extlz4 を読み込んでください)
|
@@ -199,7 +189,7 @@ Ruby3 で追加された `Ractor` に対応しています。
|
|
199
189
|
- author: dearblue (mailto:dearblue@users.osdn.me)
|
200
190
|
- project page: <https://github.com/dearblue/ruby-extlz4>
|
201
191
|
- how to install: `gem install extlz4`
|
202
|
-
- version: 0.3.
|
192
|
+
- version: 0.3.3
|
203
193
|
- product quality: technical preview
|
204
194
|
- licensing: [2 clause BSD License](LICENSE)
|
205
195
|
- dependency gems: none
|
data/ext/blockapi.c
CHANGED
@@ -451,9 +451,6 @@ blkenc_setup(int argc, VALUE argv[], struct blockencoder *p, VALUE predict)
|
|
451
451
|
* call-seq:
|
452
452
|
* initialize(level = nil, predict = nil)
|
453
453
|
*
|
454
|
-
* [INFECTION]
|
455
|
-
* +self+ <- +predict+
|
456
|
-
*
|
457
454
|
* [RETURN]
|
458
455
|
* self
|
459
456
|
*
|
@@ -476,7 +473,6 @@ blkenc_init(int argc, VALUE argv[], VALUE enc)
|
|
476
473
|
}
|
477
474
|
|
478
475
|
blkenc_setup(argc, argv, p, Qnil);
|
479
|
-
rb_obj_infect(enc, p->predict);
|
480
476
|
|
481
477
|
return enc;
|
482
478
|
}
|
@@ -485,9 +481,6 @@ blkenc_init(int argc, VALUE argv[], VALUE enc)
|
|
485
481
|
* call-seq:
|
486
482
|
* update(src, dest = "") -> dest
|
487
483
|
* update(src, max_dest_size, dest = "") -> dest
|
488
|
-
*
|
489
|
-
* [INFECTION]
|
490
|
-
* +dest+ <- +self+ <- +src+
|
491
484
|
*/
|
492
485
|
static VALUE
|
493
486
|
blkenc_update(int argc, VALUE argv[], VALUE enc)
|
@@ -496,8 +489,6 @@ blkenc_update(int argc, VALUE argv[], VALUE enc)
|
|
496
489
|
VALUE src, dest;
|
497
490
|
size_t maxsize;
|
498
491
|
blockprocess_args(argc, argv, &src, &dest, &maxsize, NULL, aux_lz4_compressbound);
|
499
|
-
rb_obj_infect(enc, src);
|
500
|
-
rb_obj_infect(dest, enc);
|
501
492
|
char *srcp;
|
502
493
|
size_t srcsize;
|
503
494
|
RSTRING_GETMEM(src, srcp, srcsize);
|
@@ -517,9 +508,6 @@ blkenc_update(int argc, VALUE argv[], VALUE enc)
|
|
517
508
|
* reset(level = nil) -> self
|
518
509
|
* reset(level, predict) -> self
|
519
510
|
*
|
520
|
-
* [INFECTION]
|
521
|
-
* +self+ < +predict+
|
522
|
-
*
|
523
511
|
* Reset block stream encoder.
|
524
512
|
*/
|
525
513
|
static VALUE
|
@@ -527,7 +515,6 @@ blkenc_reset(int argc, VALUE argv[], VALUE enc)
|
|
527
515
|
{
|
528
516
|
struct blockencoder *p = encoder_context(enc);
|
529
517
|
blkenc_setup(argc, argv, p, p->predict);
|
530
|
-
rb_obj_infect(enc, p->predict);
|
531
518
|
|
532
519
|
return enc;
|
533
520
|
}
|
@@ -575,7 +562,6 @@ blkenc_savedict(int argc, VALUE argv[], VALUE enc)
|
|
575
562
|
memcpy(RSTRING_PTR(dict), p->prefix, p->prefixsize);
|
576
563
|
if (p->prefixsize > 0) {
|
577
564
|
rb_str_set_len(dict, p->prefixsize);
|
578
|
-
rb_obj_infect(dict, enc);
|
579
565
|
return dict;
|
580
566
|
} else {
|
581
567
|
return Qnil;
|
@@ -632,9 +618,6 @@ typedef int aux_lz4_encoder_f(const char *src, char *dest, int srcsize, int maxs
|
|
632
618
|
*
|
633
619
|
* 実装の都合上、圧縮関数は LZ4_compress_fast / LZ4_compress_HC が使われます。
|
634
620
|
*
|
635
|
-
* [INFECTION]
|
636
|
-
* +dest+ <- +src+
|
637
|
-
*
|
638
621
|
* [RETURN]
|
639
622
|
* 圧縮されたデータが文字列として返ります。dest を指定した場合は、圧縮データを格納した dest を返します。
|
640
623
|
*
|
@@ -689,7 +672,6 @@ blkenc_s_encode(int argc, VALUE argv[], VALUE lz4)
|
|
689
672
|
}
|
690
673
|
aux_str_reserve(dest, maxsize);
|
691
674
|
rb_str_set_len(dest, 0);
|
692
|
-
rb_obj_infect(dest, src);
|
693
675
|
|
694
676
|
int size = encoder(RSTRING_PTR(src), RSTRING_PTR(dest), srcsize, maxsize, level);
|
695
677
|
if (size <= 0) {
|
@@ -838,9 +820,6 @@ blkdec_setup(int argc, VALUE argv[], VALUE predict, struct blockdecoder *p)
|
|
838
820
|
* call-seq:
|
839
821
|
* initialize
|
840
822
|
* initialize(preset_dictionary)
|
841
|
-
*
|
842
|
-
* [INFECTION]
|
843
|
-
* +self+ < +preset_dictionary+
|
844
823
|
*/
|
845
824
|
static VALUE
|
846
825
|
blkdec_init(int argc, VALUE argv[], VALUE dec)
|
@@ -848,7 +827,6 @@ blkdec_init(int argc, VALUE argv[], VALUE dec)
|
|
848
827
|
struct blockdecoder *p = getdecoder(dec);
|
849
828
|
|
850
829
|
blkdec_setup(argc, argv, Qnil, p);
|
851
|
-
rb_obj_infect(dec, p->predict);
|
852
830
|
|
853
831
|
return dec;
|
854
832
|
}
|
@@ -857,9 +835,6 @@ blkdec_init(int argc, VALUE argv[], VALUE dec)
|
|
857
835
|
* call-seq:
|
858
836
|
* reset
|
859
837
|
* reset(preset_dictionary)
|
860
|
-
*
|
861
|
-
* [INFECTION]
|
862
|
-
* +self+ < +preset_dictionary+
|
863
838
|
*/
|
864
839
|
static VALUE
|
865
840
|
blkdec_reset(int argc, VALUE argv[], VALUE dec)
|
@@ -867,7 +842,6 @@ blkdec_reset(int argc, VALUE argv[], VALUE dec)
|
|
867
842
|
struct blockdecoder *p = getdecoder(dec);
|
868
843
|
|
869
844
|
blkdec_setup(argc, argv, p->predict, p);
|
870
|
-
rb_obj_infect(dec, p->predict);
|
871
845
|
|
872
846
|
return dec;
|
873
847
|
}
|
@@ -884,9 +858,6 @@ blkdec_reset(int argc, VALUE argv[], VALUE dec)
|
|
884
858
|
*
|
885
859
|
* 出力先は、max_dest_size が与えられていない場合、必要に応じて自動的に拡張されます。
|
886
860
|
* この場合、いったん圧縮された LZ4 データを走査するため、事前に僅かな CPU 時間を必要とします。
|
887
|
-
*
|
888
|
-
* [INFECTION]
|
889
|
-
* +dest+ < +self+ < +src+
|
890
861
|
*/
|
891
862
|
static VALUE
|
892
863
|
blkdec_update(int argc, VALUE argv[], VALUE dec)
|
@@ -896,8 +867,6 @@ blkdec_update(int argc, VALUE argv[], VALUE dec)
|
|
896
867
|
VALUE src, dest;
|
897
868
|
size_t maxsize;
|
898
869
|
blockprocess_args(argc, argv, &src, &dest, &maxsize, NULL, aux_lz4_scansize);
|
899
|
-
rb_obj_infect(dec, src);
|
900
|
-
rb_obj_infect(dest, dec);
|
901
870
|
const char *srcp;
|
902
871
|
size_t srcsize;
|
903
872
|
RSTRING_GETMEM(src, srcp, srcsize);
|
@@ -987,9 +956,6 @@ blkdec_s_linksize(VALUE mod, VALUE str)
|
|
987
956
|
*
|
988
957
|
* 出力先は、max_dest_size が与えられていない場合、必要に応じて自動的に拡張されます。
|
989
958
|
* この場合、いったん圧縮された LZ4 データを走査するため、事前に僅かな CPU 時間を必要とします。
|
990
|
-
*
|
991
|
-
* [INFECTION]
|
992
|
-
* +dest+ < +src+
|
993
959
|
*/
|
994
960
|
static VALUE
|
995
961
|
blkdec_s_decode(int argc, VALUE argv[], VALUE lz4)
|
@@ -1000,7 +966,6 @@ blkdec_s_decode(int argc, VALUE argv[], VALUE lz4)
|
|
1000
966
|
|
1001
967
|
aux_str_reserve(dest, maxsize);
|
1002
968
|
rb_str_set_len(dest, 0);
|
1003
|
-
rb_obj_infect(dest, src);
|
1004
969
|
|
1005
970
|
int size = LZ4_decompress_safe(RSTRING_PTR(src), RSTRING_PTR(dest), RSTRING_LEN(src), maxsize);
|
1006
971
|
if (size < 0) {
|
data/ext/frameapi.c
CHANGED
@@ -210,7 +210,6 @@ fenc_init(int argc, VALUE argv[], VALUE enc)
|
|
210
210
|
rb_str_set_len(p->workbuf, s);
|
211
211
|
rb_funcall2(outport, id_op_lshift, 1, &p->workbuf);
|
212
212
|
p->outport = outport;
|
213
|
-
rb_obj_infect(p->outport, enc);
|
214
213
|
return enc;
|
215
214
|
}
|
216
215
|
|
@@ -244,9 +243,6 @@ fenc_write(int argc, VALUE argv[], VALUE enc)
|
|
244
243
|
struct encoder *p = getencoder(enc);
|
245
244
|
VALUE src;
|
246
245
|
rb_scan_args(argc, argv, "1", &src);
|
247
|
-
rb_obj_infect(enc, src);
|
248
|
-
rb_obj_infect(enc, p->workbuf);
|
249
|
-
rb_obj_infect(p->outport, enc);
|
250
246
|
fenc_update(p, src, NULL);
|
251
247
|
return enc;
|
252
248
|
}
|
@@ -255,9 +251,6 @@ static VALUE
|
|
255
251
|
fenc_push(VALUE enc, VALUE src)
|
256
252
|
{
|
257
253
|
struct encoder *p = getencoder(enc);
|
258
|
-
rb_obj_infect(enc, src);
|
259
|
-
rb_obj_infect(enc, p->workbuf);
|
260
|
-
rb_obj_infect(p->outport, enc);
|
261
254
|
fenc_update(p, src, NULL);
|
262
255
|
return enc;
|
263
256
|
}
|
@@ -455,7 +448,6 @@ fdec_init(int argc, VALUE argv[], VALUE dec)
|
|
455
448
|
rb_scan_args(argc, argv, "1", &inport);
|
456
449
|
LZ4F_errorCode_t err = LZ4F_createDecompressionContext(&p->decoder, LZ4F_VERSION);
|
457
450
|
aux_lz4f_check_error(err);
|
458
|
-
rb_obj_infect(dec, inport);
|
459
451
|
p->inport = inport;
|
460
452
|
p->readbuf = rb_str_buf_new(0);
|
461
453
|
char *readp;
|
@@ -591,7 +583,6 @@ fdec_read(int argc, VALUE argv[], VALUE dec)
|
|
591
583
|
VALUE dest;
|
592
584
|
fdec_read_args(argc, argv, &size, &dest);
|
593
585
|
if (size == 0) {
|
594
|
-
rb_obj_infect(dest, dec);
|
595
586
|
return dest;
|
596
587
|
}
|
597
588
|
|
@@ -616,7 +607,6 @@ fdec_read(int argc, VALUE argv[], VALUE dec)
|
|
616
607
|
rb_str_resize(tmpbuf, 0);
|
617
608
|
}
|
618
609
|
|
619
|
-
rb_obj_infect(dest, dec);
|
620
610
|
|
621
611
|
if (RSTRING_LEN(dest) > 0) {
|
622
612
|
return dest;
|
@@ -644,7 +634,6 @@ fdec_getc(VALUE dec)
|
|
644
634
|
size_t s = fdec_read_decode(dec, p, &ch, 1);
|
645
635
|
if (s > 0) {
|
646
636
|
VALUE v = rb_str_new(&ch, 1);
|
647
|
-
rb_obj_infect(v, dec);
|
648
637
|
return v;
|
649
638
|
} else {
|
650
639
|
return Qnil;
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: extlz4
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- dearblue
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-10-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -176,7 +176,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
176
176
|
- !ruby/object:Gem::Version
|
177
177
|
version: '0'
|
178
178
|
requirements: []
|
179
|
-
rubygems_version: 3.
|
179
|
+
rubygems_version: 3.3.7
|
180
180
|
signing_key:
|
181
181
|
specification_version: 4
|
182
182
|
summary: ruby bindings for LZ4
|