Footgun with the `compressobj()` API
Maintainer thường phản hồi trong vòng 4 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện các lệnh gọi compressobj() xen kẽ trong issue, sau đó kiểm tra các triển khai của ZstdCompressor và compressobj. Được xem là hoàn thành khi các thao tác tiếp theo trên một compressobj cũ hơn bị từ chối sau khi một đối tượng khác được tạo và assertion được báo cáo không còn thất bại.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The fact that you can create multiple compressobj from a single ZstdCompressor allows for foot-guns such as:
a = zstandard.ZstdCompressor()
b = a.compressobj()
c = b.compress(b"prefix")
d = a.compressobj()
e = d.compress(b"foo")
e += d.flush(zstandard.FLUSH_BLOCK)
c = b.compress(b"foo")
c += b.flush(zstandard.FLUSH_BLOCK)
assert(c != e) # Assertion fails!
The API should protect users from interleaving usages of two compressobj. This could be accomplished via a counter that is atomically incremented in the ZstdCompressor. The compressobj would know what count it was created on and throw an error if compress() or flush() are called after the counter in the parent ZstdCompressor is incremented.
Thanks @thatch for identifying this issue and proposing the fix.
- Ngôn ngữ chính
- C
- Star
- 642
- Fork
- 118
- Merge trung bình
- 8 ngày 2 giờ
- Pull request đã merge (30 ngày)
- 7
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của indygreg/python-zstandard
-
`multi_decompress_to_buffer([])` terminates the process with SIGFPECó thể đã có người làm @mikamikasuki đã nhận 13 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
indygreg/python-zstandard#335 ·
Maintainer thường phản hồi trong vòng 4 ngày
-
Silent data-correctness bug: `readinto()` / `readinto1()` on `stream_reader` return `tell() == 0` after successful readsCó thể đã có người làm @CAOShurong đã nhận 7 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
indygreg/python-zstandard#295 ·
Maintainer thường phản hồi trong vòng 4 ngày
-
Python 3.15 wheelsCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 55/100
indygreg/python-zstandard#354 · 1 reaction ·
Maintainer thường phản hồi trong vòng 4 ngày
-
`estimated_compression_context_size()` raises SIGFPE with `enable_ldm=TrueCó thể đã có người làm @yousefissa đã nhận 1 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 64/100
indygreg/python-zstandard#345 ·
Maintainer thường phản hồi trong vòng 4 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 55/100
indygreg/python-zstandard#334 ·
Maintainer thường phản hồi trong vòng 4 ngày
Tất cả issue của indygreg/python-zstandard
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 2 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
ChrisTitusTech/dwm-titus#397 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Translate gcc cheat sheet to frĐang mởgood first issue help wanted language:fr translation
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 85/100
mrvi0/cli-cheatsheet#160 ·
-
Test modules use volatile int for cross-thread flags instead of atomicsCó thể đã có người làm @rahimuddin140 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
valkey-io/valkey#4899 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Profiler (Remotery) leaks a socket for every connection that fails the WebSocket handshakeCó thể đã có người làm @rthery đã nhận hôm nay. Đang mởtriage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày