summaryrefslogtreecommitdiff
path: root/storage/connect/myconn.cpp
diff options
context:
space:
mode:
authorunknown <Olivier@UBUVIR>2013-03-02 00:09:15 +0100
committerunknown <Olivier@UBUVIR>2013-03-02 00:09:15 +0100
commit073b0e77310cc63ba7594d41df46fb6e2cd5ea2c (patch)
tree70f94b2c6a2fdf425fd5f708bc59aacbfa3e835c /storage/connect/myconn.cpp
parent63798ef4a51c711cd750674fe853ac2fd51a0e96 (diff)
downloadmariadb-git-073b0e77310cc63ba7594d41df46fb6e2cd5ea2c.tar.gz
- MySQL connection was not closed in case of error
modified: storage/connect/myconn.cpp
Diffstat (limited to 'storage/connect/myconn.cpp')
-rw-r--r--storage/connect/myconn.cpp7
1 files 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