eigsdap JSON escaping is not UTF-8-safe (same hole as eigenlsp #1336)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 76/100
Direzione di ricerca
Start in src/eigsdap.c at json_escape_to, then inspect eigs_json_escape_append and the existing eigenlsp and --lint --json call sites. Add a regression test for a DAP message whose text is cut mid-character, and verify the output decodes as strict UTF-8 and parses as JSON.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
src/eigsdap.c json_escape_to copies bytes into JSON with no UTF-8 check, the same shape eigenlsp had before #1336. A message or source string that is cut mid-character, or that is not valid UTF-8, becomes a DAP payload strict decoders reject. Not fixed on the eigenlsp branch: DAP output is a different server, and nothing in #1336's bar fails because of it.
Done when
- Every string eigsdap writes into JSON goes through
eigs_json_escape_append(the chokepoint eigenlsp and--lint --jsonalready call), not a second validator. - A test: a DAP message whose text is cut mid-character decodes as strict UTF-8 and parses as JSON. Show it red on the unfixed function and green after.
- Lingua principale
- C
- Stelle
- 3
- Fork
- 7
- Merge medio
- 4h 5m
- PR unite (30g)
- 116
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di InauguralSystems/EigenScript
-
area:docs good first issue kind:docs-drift
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
InauguralSystems/EigenScript#1400 ·
I maintainer di solito rispondono entro 1 giorno
-
area:docs good first issue kind:docs-drift
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
InauguralSystems/EigenScript#1396 ·
I maintainer di solito rispondono entro 1 giorno
-
docs/BUILTINS.md: task_spawn row says task_yield/task_join 'land in a later increment'; both existApertaarea:docs good first issue kind:docs-drift
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
InauguralSystems/EigenScript#1392 ·
I maintainer di solito rispondono entro 1 giorno
-
area:embed kind:silent-wrong
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
InauguralSystems/EigenScript#1387 ·
I maintainer di solito rispondono entro 1 giorno
-
area:stdlib kind:silent-wrong
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
InauguralSystems/EigenScript#1378 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di InauguralSystems/EigenScript
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
fastfetch-cli/fastfetch#2628 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
FujiNetWIFI/fujinet-firmware#1736 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100