sm: Simplify fix ed8383c6
authorWerner Koch <wk@gnupg.org>
Mon, 26 Jan 2015 16:56:52 +0000 (17:56 +0100)
committerWerner Koch <wk@gnupg.org>
Mon, 26 Jan 2015 16:56:52 +0000 (17:56 +0100)
* sm/minip12.c (p12_build): Release PWBUF only at the end.
--

Suggested-by: Eygene Ryabinkin <rea@codelabs.ru>
Signed-off-by: Werner Koch <wk@gnupg.org>
sm/minip12.c

index ca4d248..c70de8a 100644 (file)
@@ -2421,8 +2421,6 @@ p12_build (gcry_mpi_t *kparms, const void *cert, size_t certlen,
           log_error ("can't convert passphrase to"
                      " requested charset '%s': %s\n",
                      charset, strerror (errno));
-          gcry_free (pwbuf);
-          pwbuf = NULL;
           goto failure;
         }
 
@@ -2436,8 +2434,6 @@ p12_build (gcry_mpi_t *kparms, const void *cert, size_t certlen,
           log_error ("error converting passphrase to"
                      " requested charset '%s': %s\n",
                      charset, strerror (errno));
-          gcry_free (pwbuf);
-          pwbuf = NULL;
           jnlib_iconv_close (cd);
           goto failure;
         }
@@ -2511,6 +2507,8 @@ p12_build (gcry_mpi_t *kparms, const void *cert, size_t certlen,
  failure:
   if (pwbuf)
     {
+      /* Note that wipememory is not really needed due to the use of
+         gcry_malloc_secure.  */
       wipememory (pwbuf, pwbufsize);
       gcry_free (pwbuf);
     }