Audit append calls that use shared/caller-supplied slices.

Aperta
#17 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Refactoring
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
go
Ambito
testing

Direzione di ricerca

Cerca nell’intera codebase Go le chiamate a append che coinvolgono slices forniti dal chiamante, quindi esamina ogni occorrenza per individuare possibili aliasing con l’array sottostante del chiamante. L’audit è completato quando tutte queste occorrenze sono state gestite o confermate come sicure e la suite di test viene superata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug

This is about auditing the entire code base to ensure that no caller-supplied slices are being appended to.

This was a common source of bugs from me when I first started developing in Go. It is problematic because the caller may supply a slice that refers to a sub-section of an array that they are still using in full. If we append to that sub-slice it clobbers elements in the underlying array.

The solution is to first duplicate caller-supplied slices if we need to append. It's possible that there are no such occurrences in this repo.

Lingua principale
Go
Stelle
1
Fork
1
Merge medio
18m
PR unite (30g)
7

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di dogmatiq/testkit

Tutte le issue di dogmatiq/testkit

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.