From 073b0e77310cc63ba7594d41df46fb6e2cd5ea2c Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 2 Mar 2013 00:09:15 +0100 Subject: [PATCH] - MySQL connection was not closed in case of error modified: storage/connect/myconn.cpp --- storage/connect/myconn.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/storage/connect/myconn.cpp b/storage/connect/myconn.cpp index f269b12440b..18272db5fad 100644 --- a/storage/connect/myconn.cpp +++ b/storage/connect/myconn.cpp @@ -148,9 +148,10 @@ PQRYRES MyColumns(PGLOBAL g, const char *host, const char *db, /* Now get the results into blocks. */ /**********************************************************************/ for (i = 0; i < n; i++) { - if ((rc = myc.Fetch(g, -1) == RC_FX)) + if ((rc = myc.Fetch(g, -1) == RC_FX)) { + myc.Close(); return NULL; - else if (rc == RC_NF) + } else if (rc == RC_NF) break; // Get column name @@ -165,12 +166,14 @@ PQRYRES MyColumns(PGLOBAL g, const char *host, const char *db, if ((nf = sscanf(fld, "%[^(](%d,%d", cmd, &len, &prec)) < 1) { sprintf(g->Message, MSG(BAD_FIELD_TYPE), fld); + myc.Close(); return NULL; } else qrp->Nblin++; if ((type = MYSQLtoPLG(cmd)) == TYPE_ERROR) { sprintf(g->Message, "Unsupported column type %s", cmd); + myc.Close(); return NULL; } // endif type