Maybe unsound in store
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 28/100
Direzione di ricerca
L’issue indica la funzione pubblica loader::store e il suo accesso non sicuro a ts; inizia individuando quel punto di ingresso e tracciando i suoi chiamanti e gli invarianti dei puntatori. Verifica il comportamento dei puntatori null, quindi aggiungi la relativa copertura di regressione oppure definisci il contratto API richiesto, in modo che i puntatori non validi non possano raggiungere l’accesso non sicuro.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hello, thank you for your contribution in this project. I am scanning the unsound problem in rust project and I notice the following code.
pub fn store(ts: *mut ffi::PyThreadState) -> PyThreadStateUnlimited {
match VERSION.1 {
6 => {
let ts = ts as *mut PyThreadStateUnlimited3_6;
unsafe {
let unlimited = PyThreadStateUnlimited {
frame: (*ts).frame,
recursion_depth: (*ts).recursion_depth,
exc_type: (*ts).exc_type,
exc_value: (*ts).exc_value,
exc_traceback: (*ts).exc_traceback,
..Default::default()
};
(*ts).frame = std::ptr::null_mut();
(*ts).recursion_depth = 0;
(*ts).exc_type = std::ptr::null_mut();
(*ts).exc_value = std::ptr::null_mut();
(*ts).exc_traceback = std::ptr::null_mut();
unlimited
}
}
...................................
consider this is a pub fn and loader is a pub mod, I assume the user can direct call the store function. If the user pass a eg. null pointer to ts, it will lead to a UB in rust.
- Lingua principale
- Rust
- Stelle
- 401
- Fork
- 37
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 MegEngine/MegFlow
-
pytorch 模型怎么dump成mge模型Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
-
Build Docker Image FailedApertagood first issue
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
Tutte le issue di MegEngine/MegFlow
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
-
review-drift
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
oxidecomputer/hansei#14 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
rubys/roundhouse#444 ·
I maintainer di solito rispondono entro 1 giorno
-
Published hardy-bpa-server image is built without the file-cla featureForse già presa @EmbryoSpace l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
ricktaylor/hardy#755 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
semaphoreci/docker-images#46 · 1 commento ·