From e1b9e55a5aff8df696e7ae07a58308df69711773 Mon Sep 17 00:00:00 2001 From: "msvensson@pilot.(none)" <> Date: Thu, 23 Aug 2007 20:24:48 +0200 Subject: [PATCH] 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) --- sql/sql_show.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 05a847b3830..1f408bbaf40 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -1739,12 +1739,13 @@ static bool show_status_array(THD *thd, const char *wild, if (thd->net.vio->ssl_arg) { 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); if (p == NULL) break; - to= strmov(to, p); + to= strnmov(to, p, buff_end-to-1); *to++= ':'; } if (to != buff)