diff --git a/library/ctr_drbg.c b/library/ctr_drbg.c
index 53b8b54..c2f78a4 100644
--- a/library/ctr_drbg.c
+++ b/library/ctr_drbg.c
@@ -105,7 +105,7 @@
     unsigned char tmp[CTR_DRBG_SEEDLEN];
     unsigned char key[CTR_DRBG_KEYSIZE];
     unsigned char chain[CTR_DRBG_BLOCKSIZE];
-    unsigned char *p = buf, *iv;
+    unsigned char *p, *iv;
     aes_context aes_ctx;
 
     int i, j;
diff --git a/library/ecdh.c b/library/ecdh.c
index 302531d..717a73f 100644
--- a/library/ecdh.c
+++ b/library/ecdh.c
@@ -258,7 +258,8 @@
  */
 int ecdh_self_test( int verbose )
 {
-    return( verbose++ );
+    ((void) verbose );
+    return( 0 );
 }
 
 #endif
diff --git a/library/ecdsa.c b/library/ecdsa.c
index 2072d55..4bfdc7d 100644
--- a/library/ecdsa.c
+++ b/library/ecdsa.c
@@ -349,7 +349,8 @@
  */
 int ecdsa_self_test( int verbose )
 {
-    return( verbose++ );
+    ((void) verbose );
+    return( 0 );
 }
 
 #endif
diff --git a/library/rsa.c b/library/rsa.c
index af07a49..8ec7aab 100644
--- a/library/rsa.c
+++ b/library/rsa.c
@@ -911,8 +911,6 @@
 
     memset( sig, 0, olen );
 
-    msb = mpi_msb( &ctx->N ) - 1;
-
     // Generate salt of length slen
     //
     if( ( ret = f_rng( p_rng, salt, slen ) ) != 0 )
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 7c7adbc..36378ef 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -1097,8 +1097,6 @@
         unsigned char add_data[13];
         int ret = POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE;
 
-        enc_msglen = ssl->out_msglen;
-
         memcpy( add_data, ssl->out_ctr, 8 );
         add_data[8]  = ssl->out_msgtype;
         add_data[9]  = ssl->major_ver;
diff --git a/library/x509_crt.c b/library/x509_crt.c
index 8632f71..27d5ec0 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -543,8 +543,6 @@
 
     memcpy( p, buf, buflen );
 
-    buflen = 0;
-
     crt->raw.p = p;
     crt->raw.len = len;
     end = p + len;
diff --git a/library/x509_csr.c b/library/x509_csr.c
index c0c7679..e45935a 100644
--- a/library/x509_csr.c
+++ b/library/x509_csr.c
@@ -112,13 +112,7 @@
     if( ret == 0 )
     {
         /*
-         * Was PEM encoded
-         */
-        buflen -= use_len;
-        buf += use_len;
-
-        /*
-         * Steal PEM buffer
+         * Was PEM encoded, steal PEM buffer
          */
         p = pem.buf;
         pem.buf = NULL;
@@ -142,8 +136,6 @@
             return( POLARSSL_ERR_X509_MALLOC_FAILED );
 
         memcpy( p, buf, buflen );
-
-        buflen = 0;
     }
 
     csr->raw.p = p;
