Bug#30593 No cipher list returned for "SHOW STATUS LIKE 'Ssl_cipher_list'"

 - Move increment of "i" to "increment section" of for loop
 - Protect against writing after end of "buff"(backport from 5.1)
parent f7738637
...@@ -1739,12 +1739,13 @@ static bool show_status_array(THD *thd, const char *wild, ...@@ -1739,12 +1739,13 @@ static bool show_status_array(THD *thd, const char *wild,
if (thd->net.vio->ssl_arg) if (thd->net.vio->ssl_arg)
{ {
char *to= buff; char *to= buff;
for (int i=0 ; i++ ;) char *buff_end= buff + sizeof(buff);
for (int i= 0; to < buff_end; i++)
{ {
const char *p= SSL_get_cipher_list((SSL*) thd->net.vio->ssl_arg,i); const char *p= SSL_get_cipher_list((SSL*) thd->net.vio->ssl_arg,i);
if (p == NULL) if (p == NULL)
break; break;
to= strmov(to, p); to= strnmov(to, p, buff_end-to-1);
*to++= ':'; *to++= ':';
} }
if (to != buff) if (to != buff)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment