Avoid out-of-bounds write in SSL_get_shared_ciphers
authorGünther Noack <gnoack@google.com>
Thu, 1 May 2014 11:33:11 +0000 (13:33 +0200)
committerMatt Caswell <matt@openssl.org>
Sun, 11 May 2014 22:52:47 +0000 (23:52 +0100)
PR: 3317

ssl/ssl_lib.c

index c6ca1379a0cc34fb0b843c97d877fe2e6c4a583c..047f69aeed8a403df235be656e37f9863e491484 100644 (file)
@@ -1457,6 +1457,9 @@ char *SSL_get_shared_ciphers(const SSL *s,char *buf,int len)
                (len < 2))
                return(NULL);
 
+       if (sk_SSL_CIPHER_num(sk) == 0)
+               return NULL;
+
        p=buf;
        sk=s->session->ciphers;
        for (i=0; i<sk_SSL_CIPHER_num(sk); i++)