Fiddle::Pointer#[]= copies beyond the source pointer size
まだ誰も着手していません。
評価
調査の方向性
まず issue の Ruby 再現コードを実行し、Fiddle::Pointer#[]= の実装を調べて、source Pointer がどのようにコピーされるかを追跡します。要求された destination range より小さい source Pointer に対する回帰テストを追加し、その後、source Pointer の範囲を超えるバイトがコピーされないことを確認します。
索引モデルが issue の本文から書いたものです。
説明
require "fiddle"
include Fiddle
dst = Pointer.malloc(32, RUBY_FREE)
src = Pointer.malloc(4, RUBY_FREE)
dst[0, 32] = "\x00" * 32
src[0, 4] = "\xAA\xBB\xCC\xDD"
# src is only 4 bytes, but 16 bytes are copied.
dst[0, 16] = src
puts dst.to_str(32)
.bytes
.first(16)
.map { |b| "%02x" % b }
.join(" ")
# aa bb cc dd ad 78 00 00 d8 2a a1 98 ad 78 00 00
# (In my environment)
- 主要言語
- Ruby
- スター
- 195
- フォーク
- 53
- 平均マージ
- 23時間 57分
- マージ済み PR(30日)
- 1
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ruby/fiddle のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 45/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 52/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
-
バグ
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
voxpupuli/puppet-epel#186 · コメント 1 件 ·
-
external_created_at is no longer used for the message timestamp since the new message UI (v4.4.0) オープンBug Frontend
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100