]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
add more unlock
authorAlan T. DeKok <aland@freeradius.org>
Thu, 26 Sep 2024 07:29:08 +0000 (09:29 +0200)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 26 Sep 2024 07:29:08 +0000 (09:29 +0200)
src/main/tls_listen.c

index 6d4e1c351ce8d9fb547d1b15cc61371e21c83710..5fde116486d173a9ad3920e7c9f1bab23f74949d 100644 (file)
@@ -671,6 +671,7 @@ get_application_data:
         */
        if (sock->state != LISTEN_TLS_RUNNING) {
                RDEBUG3("(TLS) Holding application data until setup is complete");
+               PTHREAD_MUTEX_UNLOCK(&sock->mutex);
                return 0;
        }
 
@@ -687,12 +688,14 @@ read_application_data:
        if (sock->ssn->clean_out.used < 20) {
                RDEBUG3("(TLS) Received partial packet (have %zu, want >=20), waiting for more.",
                        sock->ssn->clean_out.used);
+               PTHREAD_MUTEX_UNLOCK(&sock->mutex);
                return 0;
        }
 
        if (((int) sock->ssn->clean_out.used) < ((sock->ssn->clean_out.data[2] << 8) | sock->ssn->clean_out.data[3])) {
                RDEBUG3("(TLS) Received partial packet (have %zu, want %u), waiting for more.",
                        sock->ssn->clean_out.used, (sock->ssn->clean_out.data[2] << 8) | sock->ssn->clean_out.data[3]);
+               PTHREAD_MUTEX_UNLOCK(&sock->mutex);
                return 0;
        }