path_filestat_get returns inval for empty paths
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 70/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- c
- Ambito
- operating-systems
Direzione di ricerca
Il bug si trova nel controllo sulla lunghezza del percorso all'interno di uvwasi__resolve_path in src/path_resolver.c, intorno alla riga 457, a cui rimanda la issue. Leggi quel controllo e capisci perché un input_len pari a zero va in underflow in input_len - 1. Poi riproduci path_filestat_get con un percorso vuoto e verifica che restituisca UVWASI_EINVAL invece di UVWASI_ENOENT. È completato quando un percorso vuoto restituisce noent, come wasmtime, e i test sui percorsi esistenti continuano a passare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
For empty paths, that is, path represented by a buffer with zero length (NULL-terminator is not included into a string length, right?), path_filestat_get returns inval instead of noent. The same call executed by wasmtime returns noent.
Apparently, it is a result of path length check performed by the uvwasi__resolve_path:
if (input_len != strnlen(input, input_len - 1) + 1) {
err = UVWASI_EINVAL;
goto exit;
}
For zero length strings, input_len - 1 underflows and the checked condition is unlikely to met.
- Lingua principale
- C
- Stelle
- 272
- Fork
- 60
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun 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 nodejs/uvwasi
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 25/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 15/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 20/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
Tutte le issue di nodejs/uvwasi
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
quickjs-ng/quickjs#1836 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
open-quantum-safe/liboqs#2637 ·
I maintainer di solito rispondono entro 1 giorno
-
Go device SDK: Whisper transcriber keeps buffering and transcribing audio appended after Stop()Forse già presa @apoorvdarshan l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
BasedHardware/omi#22770 ·
I maintainer di solito rispondono entro 1 giorno
-
fido_do_ecdh() reports any getKeyAgreement failure as FIDO_ERR_INTERNALForse già presa @brlumen l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
joncampbell123/dosbox-x#6698 ·
I maintainer di solito rispondono entro 1 giorno