diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-02-07 00:31:30 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-02-07 00:31:30 +0100 |
commit | b63a6bf6267b533aa835842d1692b88039c31a30 (patch) | |
tree | 77f0c60b01703431471e05ece172c1b6565eabf1 | |
parent | faecd86ee6649044c8ef14f2f7634fa8bc503114 (diff) | |
download | plan9front-b63a6bf6267b533aa835842d1692b88039c31a30.tar.xz |
libsec: fix missing error case unlock() in tlshands initCiphers()
-rw-r--r-- | sys/src/libsec/port/tlshand.c | 11 |
1 files 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; } |