From 472be5c8d8ff4c1cf748e32320ed5e3618352c93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Canna=C3=B2?= Date: Wed, 30 Sep 2015 21:53:24 +0000 Subject: [PATCH] Fix bug #396 Closes #396 --- lib/ProxySQL_Admin.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/ProxySQL_Admin.cpp b/lib/ProxySQL_Admin.cpp index 8979e45d0..89e64360c 100644 --- a/lib/ProxySQL_Admin.cpp +++ b/lib/ProxySQL_Admin.cpp @@ -2495,10 +2495,26 @@ void ProxySQL_Admin::stats___mysql_processlist() { SQLite3_row *r=*it; int arg_len=0; for (int i=0; i<14; i++) { - arg_len+=strlen(r->fields[i]); + if (r->fields[i]) + arg_len+=strlen(r->fields[i]); } char *query=(char *)malloc(strlen(a)+arg_len+32); - sprintf(query,a,r->fields[0],r->fields[1],r->fields[2],r->fields[3],r->fields[4],r->fields[5],r->fields[6],r->fields[7],r->fields[8],r->fields[9],r->fields[10],r->fields[11],r->fields[12],r->fields[13]); + sprintf(query,a, + (r->fields[0] ? r->fields[0] : ""), + (r->fields[1] ? r->fields[1] : ""), + (r->fields[2] ? r->fields[2] : ""), + (r->fields[3] ? r->fields[3] : ""), + (r->fields[4] ? r->fields[4] : ""), + (r->fields[5] ? r->fields[5] : ""), + (r->fields[6] ? r->fields[6] : ""), + (r->fields[7] ? r->fields[7] : ""), + (r->fields[8] ? r->fields[8] : ""), + (r->fields[9] ? r->fields[9] : ""), + (r->fields[10] ? r->fields[10] : ""), + (r->fields[11] ? r->fields[11] : ""), + (r->fields[12] ? r->fields[12] : ""), + (r->fields[13] ? r->fields[13] : "") + ); statsdb->execute(query); free(query); }