- Fixed potential memory zeroization on miscrafted RSA key

diff --git a/ChangeLog b/ChangeLog
index f862544..e00643b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -51,6 +51,8 @@
      Frama-C team at CEA LIST)
    * Fixed generation of DHM parameters to correct length (found by Ruslan
      Yushchenko)
+   * Fixed potential memory zeroization on miscrafted RSA key (found by Eloi
+     Vanderbeken)
 
 = Version 1.1.3 released on 2012-04-29
 Bugfix
diff --git a/library/rsa.c b/library/rsa.c
index 215f1aa..6dfcdb3 100644
--- a/library/rsa.c
+++ b/library/rsa.c
@@ -679,7 +679,7 @@
                     return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
             }
 
-            if( nb_pad < 8 )
+            if( ( nb_pad < 8 ) || ( nb_pad > olen ) )
                 return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
 
             *p++ = 0;