Fix bad error codes
diff --git a/library/error.c b/library/error.c
index ff6fb07..d17338a 100644
--- a/library/error.c
+++ b/library/error.c
@@ -422,6 +422,8 @@
             snprintf( buf, buflen, "SSL - Public key type mismatch (eg, asked for RSA key exchange and presented EC key)" );
         if( use_ret == -(POLARSSL_ERR_SSL_UNKNOWN_IDENTITY) )
             snprintf( buf, buflen, "SSL - Unkown identity received (eg, PSK identity)" );
+        if( use_ret == -(POLARSSL_ERR_SSL_INTERNAL_ERROR) )
+            snprintf( buf, buflen, "SSL - Internal error (eg, unexpected failure in lower-level module)" );
 #endif /* POLARSSL_SSL_TLS_C */
 
 #if defined(POLARSSL_X509_USE_C) || defined(POLARSSL_X509_CREATE_C)
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index b1e5021..4d65479 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -1060,8 +1060,7 @@
         {
             SSL_DEBUG_MSG( 1, ( "total encrypted length incorrect %d %d",
                                 ssl->out_msglen, olen ) );
-            // TODO Real error number
-            return( -1 );
+            return( POLARSSL_ERR_SSL_INTERNAL_ERROR );
         }
 
         if( ( ret = cipher_finish( &ssl->transform_out->cipher_ctx_enc,
@@ -1075,8 +1074,7 @@
         {
             SSL_DEBUG_MSG( 1, ( "total encrypted length incorrect %d %d",
                                 0, olen ) );
-            // TODO Real error number
-            return( -1 );
+            return( POLARSSL_ERR_SSL_INTERNAL_ERROR );
         }
     }
     else
@@ -1277,8 +1275,7 @@
         {
             SSL_DEBUG_MSG( 1, ( "total encrypted length incorrect %d %d",
                                 enc_msglen, olen ) );
-            // TODO Real error number
-            return( -1 );
+            return( POLARSSL_ERR_SSL_INTERNAL_ERROR );
         }
 
 #if defined(POLARSSL_SSL_PROTO_SSL3) || defined(POLARSSL_SSL_PROTO_TLS1)
@@ -1360,8 +1357,7 @@
         if( ssl->in_msglen != olen )
         {
             SSL_DEBUG_MSG( 1, ( "total encrypted length incorrect" ) );
-            // TODO Real error number
-            return( -1 );
+            return( POLARSSL_ERR_SSL_INTERNAL_ERROR );
         }
 
         if( ( ret = cipher_finish( &ssl->transform_in->cipher_ctx_dec,
@@ -1374,8 +1370,7 @@
         if( 0 != olen )
         {
             SSL_DEBUG_MSG( 1, ( "total encrypted length incorrect" ) );
-            // TODO Real error number
-            return( -1 );
+            return( POLARSSL_ERR_SSL_INTERNAL_ERROR );
         }
     }
     else
@@ -1557,8 +1552,7 @@
         if( dec_msglen != olen )
         {
             SSL_DEBUG_MSG( 1, ( "total encrypted length incorrect" ) );
-            // TODO Real error number
-            return( -1 );
+            return( POLARSSL_ERR_SSL_INTERNAL_ERROR );
         }
 
 #if defined(POLARSSL_SSL_PROTO_SSL3) || defined(POLARSSL_SSL_PROTO_TLS1)