- check for bad sizes in hmac - better error message from tlshand Reference: /n/atom/patch/applied2013/secupd Date: Wed Jun 19 16:26:49 CES 2013 Signed-off-by: quanstro@quanstro.net --- /sys/src/libsec/port/hmac.c Wed Jun 19 16:26:25 2013 +++ /sys/src/libsec/port/hmac.c Wed Jun 19 16:26:25 2013 @@ -16,6 +16,10 @@ /* first time through */ if(s == nil || s->seeded == 0){ + if(klen >= Hmacblksz){ + print("klen too large: %lud", klen); + assert(0); + } memset(pad, 0x36, Hmacblksz); pad[Hmacblksz] = 0; for(i = 0; i < klen; i++) --- /sys/src/libsec/port/tlshand.c Wed Jun 19 16:26:28 2013 +++ /sys/src/libsec/port/tlshand.c Wed Jun 19 16:26:30 2013 @@ -921,7 +921,7 @@ if(act == AFlush){ sendp = sendbuf; if(write(c->hand, sendbuf, p-sendbuf) < 0){ - fprint(2, "write error: %r\n"); + fprint(2, "tls flush: write(%d, %#p, %ld) error: %r\n", c->hand, sendbuf, p-sendbuf); goto Err; } }