Commit dd0b1e8c by Patrick Steinhardt

openssl_stream: fix releasing OpenSSL locks

The OpenSSL library may require multiple locks to work correctly, where
it is the caller's responsibility to initialize and release the locks.
While we correctly initialized up to `n` locks, as determined by
`CRYPTO_num_locks`, we were repeatedly freeing the same mutex in our
shutdown procedure.

Fix the issue by freeing locks at the correct index.
parent 1d50f955
...@@ -66,7 +66,7 @@ static void shutdown_ssl_locking(void) ...@@ -66,7 +66,7 @@ static void shutdown_ssl_locking(void)
CRYPTO_set_locking_callback(NULL); CRYPTO_set_locking_callback(NULL);
for (i = 0; i < num_locks; ++i) for (i = 0; i < num_locks; ++i)
git_mutex_free(openssl_locks); git_mutex_free(&openssl_locks[i]);
git__free(openssl_locks); git__free(openssl_locks);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment