]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Plug memory leak in mbedTLS backend
authorIvo Manca <pinkel@gmail.com>
Tue, 31 May 2016 11:42:33 +0000 (13:42 +0200)
committerDavid Sommerseth <dazo@privateinternetaccess.com>
Tue, 31 May 2016 15:25:11 +0000 (17:25 +0200)
Signed-off-by: Ivo Manca <pinkel@gmail.com>
Acked-by: Steffan Karger <steffan.karger@fox-it.com>
Acked-by: Arne Schwabe <arne@rfc2549.org>
Message-Id: <1464694953-3681-1-git-send-email-pinkel@gmail.com>
URL: http://article.gmane.org/gmane.network.openvpn.devel/11752
Signed-off-by: David Sommerseth <dazo@privateinternetaccess.com>
src/openvpn/ssl_verify_polarssl.c

index 7ed87d6c49c11f77c520edba66c56bf6ddaea970..cc46b758c04c6c54ec0b256d6bc47446098c1d7e 100644 (file)
@@ -137,7 +137,7 @@ backend_x509_get_serial (openvpn_x509_cert_t *cert, struct gc_arena *gc)
   if (!polar_ok(mpi_read_binary(&serial_mpi, cert->serial.p, cert->serial.len)))
     {
       msg(M_WARN, "Failed to retrieve serial from certificate.");
-      return NULL;
+      goto end;
     }
 
   /* Determine decimal representation length, allocate buffer */
@@ -148,9 +148,12 @@ backend_x509_get_serial (openvpn_x509_cert_t *cert, struct gc_arena *gc)
   if (!polar_ok(mpi_write_string(&serial_mpi, 10, buf, &buflen)))
     {
       msg(M_WARN, "Failed to write serial to string.");
-      return NULL;
+      buf = NULL;
+      goto end;
     }
 
+end:
+  mpi_free(&serial_mpi);
   return buf;
 }