Fiddle::Pointer#[]= copies beyond the source pointer size
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 52/100
Rechercherichtung
Beginne damit, die Ruby-Reproduktion im Issue auszuführen und die Implementierung von Fiddle::Pointer#[]= zu untersuchen, um nachzuverfolgen, wie ein source Pointer kopiert wird. Füge Regressionstests für einen source Pointer hinzu, der kleiner als der angeforderte Zielbereich ist, und überprüfe anschließend, dass Bytes hinter dem source Pointer nicht kopiert werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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)
- Vorherrschende Sprache
- Ruby
- Sterne
- 195
- Forks
- 53
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus ruby/fiddle
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 45/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 52/100
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
forem/forem#23933 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
rails/mission_control-jobs#347 ·
-
PROJECT: ILR/DRS
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
thewca/worldcubeassociation.org#15914 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 7 Tagen
-
good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
benbalter/site-inspector#127 ·
Maintainer antworten meist innerhalb von 1 Tag