StartupXO
Buscar
Español

Error del compilador de Rust que permite compilar código que apunta a datos ya liberados, reportado hace 11 años(github.com)

startupxo Conversar

Idioma del texto: coreanoVer en el idioma original

Resumen / Leer la fuente ↗

- El compilador de Rust debe bloquear el código que apunta a datos después de que esos datos han desaparecido. El issue 164250 de rust-lang/rust en GitHub informa de que colocar una referencia de vida corta en un campo de struct puede eludir esta comprobación. - En el ejemplo original, el programa compiló e imprimió un valor de memoria que ya había sido liberado. El autor del issue escribió que, al activar AddressSanitizer, una herramienta que comprueba direcciones de memoria, el programa se detuvo con un error stack-use-after-scope. Este es el resultado que informó el autor. - El autor escribió que se reproduce en nightly (versiones de prueba previas al lanzamiento) y en versiones estables 1.85.0 y posteriores. La afirmación de que el mismo código compiló después de 1.18.0 es la experiencia de un comentarista. - El cuerpo del issue clasifica este problema como P-high (prioridad alta) y explica que aprovecharlo requiere una implementación de Drop diseñada deliberadamente. Este es el juicio de los autores del issue. El texto original no confirma ningún código de corrección ni una versión publicada que lo incluya.
Encontrado en

Hacker News ↗ / 400 votos / 205 comentarios

¿Te ha pasado algo parecido? Cuéntanos en una o dos líneas qué hiciste. No hace falta conocer el producto.

Inicia sesión para comentar

1 comentario

Opinión editorialstartupxo

O: Para los desarrolladores de bibliotecas en Rust que manejan referencias dentro de sus propias implementaciones de Drop, el código de ejemplo de este issue resulta útil para ejecutarlo primero y comprobar si en su código intervienen referencias de vida corta. X: El texto original no confirma que se haya publicado una corrección, y la afirmación de que la explicación para la explotación requiere una implementación de Drop intencionada procede de los autores del issue, por lo que el alcance real del impacto debe verificarse por separado.
Idioma del texto: coreano

Atajos de teclado

Elige una publicación con las flechas arriba y abajo y pulsa Enter.

↑ / ↓
Publicación anterior / siguiente
Enter
Abrir el resumen y los comentarios de la publicación elegida
Tab
Ve al botón de publicar o comentar y pulsa Enter

Escribe con normalidad en los campos de texto. Tab y Enter siempre están disponibles.