]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
Fix segfault in free_tls_connection() after an authentication issue
authorEric Bollengier <eric@baculasystems.com>
Thu, 16 Jan 2020 16:00:46 +0000 (17:00 +0100)
committerKern Sibbald <kern@sibbald.com>
Fri, 31 Jan 2020 13:54:06 +0000 (14:54 +0100)
bacula/src/lib/tls.c

index 8e32dfbd24ccca5ad57aa16cf6a58a545bfeb89c..523db18929c49c11ffc3ebee0b417cf87044328d 100644 (file)
@@ -485,10 +485,12 @@ err:
  */
 void free_tls_connection(TLS_CONNECTION *tls)
 {
-   pthread_mutex_destroy(&tls->rwlock);
-   pthread_mutex_destroy(&tls->wlock);
-   SSL_free(tls->openssl);
-   free(tls);
+   if (tls) {
+      pthread_mutex_destroy(&tls->rwlock);
+      pthread_mutex_destroy(&tls->wlock);
+      SSL_free(tls->openssl);
+      free(tls);
+   }
 }
 
 /* Does all the manual labor for tls_bsock_accept() and tls_bsock_connect() */