http://bugs.gentoo.org/194039 Index: ssl/ssl_lib.c =================================================================== RCS file: /usr/local/src/openssl/CVSROOT/openssl/ssl/ssl_lib.c,v retrieving revision 1.133.2.9 retrieving revision 1.133.2.10 diff -u -p -r1.133.2.9 -r1.133.2.10 --- ssl/ssl_lib.c 12 Aug 2007 18:59:02 -0000 1.133.2.9 +++ ssl/ssl_lib.c 19 Sep 2007 12:16:21 -0000 1.133.2.10 @@ -1210,7 +1210,6 @@ int SSL_set_cipher_list(SSL *s,const cha char *SSL_get_shared_ciphers(const SSL *s,char *buf,int len) { char *p; - const char *cp; STACK_OF(SSL_CIPHER) *sk; SSL_CIPHER *c; int i; @@ -1223,20 +1222,21 @@ char *SSL_get_shared_ciphers(const SSL * sk=s->session->ciphers; for (i=0; iname; *cp; ) + n=strlen(c->name); + if (n+1 > len) { - if (len-- <= 0) - { - *p='\0'; - return(buf); - } - else - *(p++)= *(cp++); + if (p != buf) + --p; + *p='\0'; + return buf; } + strcpy(p,c->name); + p+=n; *(p++)=':'; + len-=n+1; } p[-1]='\0'; return(buf);