diff options
| -rw-r--r-- | sys/src/libsec/port/tlshand.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/src/libsec/port/tlshand.c b/sys/src/libsec/port/tlshand.c index bf63312e7..e2f495a9d 100644 --- a/sys/src/libsec/port/tlshand.c +++ b/sys/src/libsec/port/tlshand.c @@ -1614,6 +1614,19 @@ msgRecv(TlsConnection *c, Msg *m) m->u.certificateRequest.types = makebytes(p, nn); p += nn; n -= nn; + if(c->version >= TLS12Version){ + /* skip supported_signature_algorithms */ + if(n < 2) + goto Short; + nn = get16(p); + p += 2; + n -= 2; + if(nn > n) + goto Short; + p += nn; + n -= nn; + + } if(n < 2) goto Short; nn = get16(p); |
