]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
Fixed memory leak in pkcs1-conv.
authorNiels Möller <nisse@lysator.liu.se>
Sun, 16 Sep 2012 05:57:04 +0000 (07:57 +0200)
committerNiels Möller <nisse@lysator.liu.se>
Sun, 16 Sep 2012 05:57:04 +0000 (07:57 +0200)
ChangeLog
tools/pkcs1-conv.c

index fe61ad969b212ec6c8fcf7571738e8d7af39147e..6f16f7473b585a2c587ab9f164e2a63cff304dee 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-09-16  Niels Möller  <nisse@lysator.liu.se>
+
+       * tools/pkcs1-conv.c (convert_public_key): Added missing calls to
+       dsa_public_key_clear and rsa_public_key_clear.
+       (main): Added missing nettle_buffer_clear.
+
 2012-09-10  Niels Möller  <nisse@lysator.liu.se>
 
        * examples/eratosthenes.c (main): Explicitly deallocate storage
index 40420c446101febeabba0199f620f9b5b6e78e0b..231b2acd4348161808b2612dae77e9dd04cf3edd 100644 (file)
@@ -415,6 +415,7 @@ convert_public_key(struct nettle_buffer *buffer, unsigned length, const uint8_t
                      nettle_buffer_reset(buffer);
                      res = dsa_keypair_to_sexp(buffer, NULL, &pub, NULL) > 0;
                    }
+                 dsa_public_key_clear(&pub);
                }
              if (!res)
                werror("SubjectPublicKeyInfo: Invalid DSA key.\n");
@@ -438,6 +439,7 @@ convert_public_key(struct nettle_buffer *buffer, unsigned length, const uint8_t
                      nettle_buffer_reset(buffer);
                      res = rsa_keypair_to_sexp(buffer, NULL, &pub, NULL) > 0;
                    }
+                 rsa_public_key_clear(&pub);
                }
              if (!res)
                werror("SubjectPublicKeyInfo: Invalid RSA key.\n");
@@ -448,7 +450,7 @@ convert_public_key(struct nettle_buffer *buffer, unsigned length, const uint8_t
     }
   else
     werror("SubjectPublicKeyInfo: Invalid object.\n");
-  
+
   return res;
 }
 
@@ -656,5 +658,7 @@ main(int argc, char **argv)
          fclose(f);
        }
     }
+  nettle_buffer_clear (&buffer);
+
   return EXIT_SUCCESS;
 }