diff --git a/ownership.md b/ownership.md
index 4de94874401729759fb3e6acdd6456369ee3554b..d2786ab649828a63d9e27d992d7e8ef31c83f6a7 100644
--- a/ownership.md
+++ b/ownership.md
@@ -341,6 +341,30 @@ fn main()
 - Sur une variable on peut avoir:
     1. Autant de **références immutables** qu'on veut.
     2. Une seule **référence mutable**.
+- La référence doit toujours être **valide**.
+
+## Dangling pointer ("pointeur pendouillant")
+
+- En désallouant de la mémoire mais en ne détruisant pas le pointeur vers cette mémoire on crée un **dangling pointer**.
+- Très dangereux, car on ne sait pas du tout ce qui se pourrait se passer si on essaie de suivre le pointeur pendouillant.
+- Tout un tas de langages autorise ce comportement indéfini.
+- En Rust cela est **impossible**.
+- Exemple :
+<pre><code data-trim="hljs rust" class="lang-rust">
+fn dangling() -> &Vec&lt;i32&rt; { // on rend une référence vers un vecteur
+	let mut v = Vec::new();
+	v.push(1); v.push(2); // on a créé un vec avec 1,2 dedans.
+
+	&v; // on retourne une réf vers v
+} // v sort de la portée de la fonction et est détruit:
+  // la mémoire est libérée.
+
+fn main() {
+    let dangling_reference = dangling();
+}
+</code></pre>
+
+
 
 ## Exemples (1/2)