From b63a6bf6267b533aa835842d1692b88039c31a30 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sun, 7 Feb 2016 00:31:30 +0100 Subject: libsec: fix missing error case unlock() in tlshands initCiphers() --- sys/src/libsec/port/tlshand.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sys/src/libsec/port/tlshand.c b/sys/src/libsec/port/tlshand.c index 695284e24..ed3884f9f 100644 --- a/sys/src/libsec/port/tlshand.c +++ b/sys/src/libsec/port/tlshand.c @@ -1133,7 +1133,7 @@ tlsClient2(int ctl, int hand, goto Err; } if(setVersion(c, m.u.serverHello.version) < 0) { - tlsError(c, EIllegalParameter, "incompatible version %r"); + tlsError(c, EIllegalParameter, "incompatible version: %r"); goto Err; } memmove(c->srandom, m.u.serverHello.random, RandomSize); @@ -2321,13 +2321,13 @@ initCiphers(void) j = open("#a/tls/encalgs", OREAD); if(j < 0){ werrstr("can't open #a/tls/encalgs: %r"); - return 0; + goto out; } n = read(j, s, MaxAlgF-1); close(j); if(n <= 0){ werrstr("nothing in #a/tls/encalgs: %r"); - return 0; + goto out; } s[n] = 0; n = getfields(s, flds, MaxAlgs, 1, " \t\r\n"); @@ -2345,13 +2345,13 @@ initCiphers(void) j = open("#a/tls/hashalgs", OREAD); if(j < 0){ werrstr("can't open #a/tls/hashalgs: %r"); - return 0; + goto out; } n = read(j, s, MaxAlgF-1); close(j); if(n <= 0){ werrstr("nothing in #a/tls/hashalgs: %r"); - return 0; + goto out; } s[n] = 0; n = getfields(s, flds, MaxAlgs, 1, " \t\r\n"); @@ -2367,6 +2367,7 @@ initCiphers(void) if(cipherAlgs[i].ok) nciphers++; } +out: unlock(&ciphLock); return nciphers; } -- cgit v1.2.3